{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3f8d75da",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "from scipy.signal import butter, filtfilt\n",
    "import networkx as nx\n",
    "from scipy.ndimage import zoom\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "def load_and_validate_data(file_path):\n",
    "    \"\"\"\n",
    "    Load data from a file and validate its presence.\n",
    "    Return None if data is invalid or shapes are inconsistent.\n",
    "    \"\"\"\n",
    "    try:\n",
    "        loaded_data = np.load(file_path)\n",
    "        \n",
    "        # Extract data\n",
    "        ppg_f = loaded_data.get('ppg_f')\n",
    "        ecg_f = loaded_data.get('ecg_f')\n",
    "        seg_dbp = loaded_data.get('seg_dbp')\n",
    "        seg_sbp = loaded_data.get('seg_sbp')\n",
    "        \n",
    "        # Check if all required data is present and non-null\n",
    "        if ppg_f is None or ecg_f is None or seg_dbp is None or seg_sbp is None:\n",
    "            return None\n",
    "        \n",
    "        # Check for empty data\n",
    "        if ppg_f.size == 0 or ecg_f.size == 0 or seg_dbp.size == 0 or seg_sbp.size == 0:\n",
    "            return None\n",
    "\n",
    "        return ppg_f, ecg_f, seg_dbp, seg_sbp\n",
    "    \n",
    "    except Exception as e:\n",
    "        print(f\"Error loading {file_path}: {e}\")\n",
    "        return None"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9d4a96ae",
   "metadata": {},
   "outputs": [],
   "source": [
    "def bandpass_filter(data, lowcut, highcut, fs, order=5):\n",
    "    \"\"\"\n",
    "    Apply a bandpass filter to the data.\n",
    "    \"\"\"\n",
    "    nyquist = 0.5 * fs\n",
    "    low = lowcut / nyquist\n",
    "    high = highcut / nyquist\n",
    "    b, a = butter(order, [low, high], btype='band')\n",
    "    return filtfilt(b, a, data)\n",
    "\n",
    "def preprocess_signal(signal, fs):\n",
    "    \"\"\"\n",
    "    Preprocess the signal by bandpass filtering and normalization.\n",
    "    \"\"\"\n",
    "    filtered_signal = bandpass_filter(signal, 0.5, 40, fs)\n",
    "    normalized_signal = (filtered_signal - np.mean(filtered_signal)) / np.std(filtered_signal)\n",
    "    return normalized_signal"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8939ab11",
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_visibility_graph(ppg_signal):\n",
    "    n = len(ppg_signal)\n",
    "    G = nx.Graph()\n",
    "    G.add_nodes_from(range(n))\n",
    "\n",
    "    for i in range(n):\n",
    "        for j in range(i + 1, n):\n",
    "            visible = True\n",
    "            for k in range(i + 1, j):\n",
    "                if ppg_signal[k] >= ppg_signal[i] + (ppg_signal[j] - ppg_signal[i]) * (k - i) / (j - i):\n",
    "                    visible = False\n",
    "                    break\n",
    "            if visible:\n",
    "                G.add_edge(i, j)\n",
    "                \n",
    "    return G\n",
    "\n",
    "def graph_to_adjacency_matrix_image(G, size):\n",
    "    adj_matrix = nx.to_numpy_array(G)\n",
    "    # Resize adjacency matrix to a fixed size\n",
    "    adj_matrix_resized = zoom(adj_matrix, (size / adj_matrix.shape[0], size / adj_matrix.shape[1]), order=0)\n",
    "    return adj_matrix_resized\n",
    "\n",
    "def generate_vg_image(ppg_signal, size):\n",
    "    G = create_visibility_graph(ppg_signal)\n",
    "    vg_image = graph_to_adjacency_matrix_image(G, size)\n",
    "    return vg_image\n",
    "\n",
    "def plot_vg_image(vg_image):\n",
    "    plt.figure(figsize=(6, 6))\n",
    "    plt.imshow(vg_image, cmap='gray', interpolation='nearest')\n",
    "    plt.title('Visibility Graph Image')\n",
    "    plt.colorbar()\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a4505ea1",
   "metadata": {},
   "outputs": [],
   "source": [
    "def combine_data_from_folder(folder_path, vg_image_size, batch_size=100):\n",
    "    combined_ppg = []\n",
    "    combined_ecg = []\n",
    "    combined_seg_dbp = []\n",
    "    combined_seg_sbp = []\n",
    "    combined_vg_images = []\n",
    "\n",
    "    for file_name in os.listdir(folder_path):\n",
    "        file_path = os.path.join(folder_path, file_name)\n",
    "        \n",
    "        if not file_path.endswith('.npz'):\n",
    "            continue\n",
    "        \n",
    "        data = load_and_validate_data(file_path)\n",
    "        \n",
    "        if data is None:\n",
    "            print(f\"Skipping invalid file: {file_path}\")\n",
    "            continue\n",
    "        \n",
    "        ppg_f, ecg_f, seg_dbp, seg_sbp = data\n",
    "        \n",
    "        if ppg_f.ndim == 3:\n",
    "            for i in range(ppg_f.shape[0]):\n",
    "                preprocessed_ppg = preprocess_signal(ppg_f[i], 1000)\n",
    "                combined_ppg.append(preprocessed_ppg)\n",
    "                vg_image = generate_vg_image(preprocessed_ppg, vg_image_size)\n",
    "                combined_vg_images.append(vg_image)\n",
    "        else:\n",
    "            print(f\"Skipping PPG data with unexpected shape: {ppg_f.shape}\")\n",
    "        \n",
    "        if ecg_f.ndim == 3:\n",
    "            for i in range(ecg_f.shape[0]):\n",
    "                preprocessed_ecg = preprocess_signal(ecg_f[i], 1000)\n",
    "                combined_ecg.append(preprocessed_ecg)\n",
    "        else:\n",
    "            print(f\"Skipping ECG data with unexpected shape: {ecg_f.shape}\")\n",
    "        \n",
    "        if seg_dbp.ndim == 2:\n",
    "            combined_seg_dbp.append(seg_dbp)\n",
    "        else:\n",
    "            print(f\"Skipping SegDBP data with unexpected shape: {seg_dbp.shape}\")\n",
    "        \n",
    "        if seg_sbp.ndim == 2:\n",
    "            combined_seg_sbp.append(seg_sbp)\n",
    "        else:\n",
    "            print(f\"Skipping SegSBP data with unexpected shape: {seg_sbp.shape}\")\n",
    "        \n",
    "        if len(combined_ppg) >= batch_size:\n",
    "            combined_ppg = np.stack(combined_ppg, axis=0)\n",
    "            combined_ecg = np.stack(combined_ecg, axis=0)\n",
    "            combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "            combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "            combined_vg_images = np.stack(combined_vg_images, axis=0)\n",
    "            \n",
    "            yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp, combined_vg_images\n",
    "            \n",
    "            combined_ppg = []\n",
    "            combined_ecg = []\n",
    "            combined_seg_dbp = []\n",
    "            combined_seg_sbp = []\n",
    "            combined_vg_images = []\n",
    "\n",
    "    if combined_ppg:\n",
    "        combined_ppg = np.stack(combined_ppg, axis=0)\n",
    "    else:\n",
    "        combined_ppg = np.array([])\n",
    "        \n",
    "    if combined_ecg:\n",
    "        combined_ecg = np.stack(combined_ecg, axis=0)\n",
    "    else:\n",
    "        combined_ecg = np.array([])\n",
    "        \n",
    "    if combined_seg_dbp:\n",
    "        combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_dbp = np.array([])\n",
    "        \n",
    "    if combined_seg_sbp:\n",
    "        combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_sbp = np.array([])\n",
    "        \n",
    "    if combined_vg_images:\n",
    "        combined_vg_images = np.stack(combined_vg_images, axis=0)\n",
    "    else:\n",
    "        combined_vg_images = np.array([])\n",
    "\n",
    "    yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp, combined_vg_images\n",
    "\n",
    "# Define folder path containing .npz files\n",
    "folder_path = r'C:\\Users\\nihal\\Desktop\\xyz'\n",
    "vg_image_size = 224  # Define the size for VG images\n",
    "\n",
    "# Combine data from all valid files\n",
    "combined_data_generator = combine_data_from_folder(folder_path, vg_image_size)\n",
    "\n",
    "# Plot VG images\n",
    "for batch in combined_data_generator:\n",
    "    combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp, combined_vg_images = batch\n",
    "    for i in range(min(5, len(combined_vg_images))):  # Plot up to 5 images\n",
    "        plot_vg_image(combined_vg_images[i])\n",
    "    break  # Only process the first batch for plotting"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "671d195f",
   "metadata": {},
   "source": [
    "# COMPLETE CODE FOR EXTRACTING DATA FROM FOLDERS AND GENERATING VG IMAGES"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "8ac3385e",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "from scipy.signal import butter, filtfilt\n",
    "import networkx as nx\n",
    "from scipy.ndimage import zoom\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def load_and_validate_data(file_path):\n",
    "    \"\"\"\n",
    "    Load data from a file and validate its presence.\n",
    "    Return None if data is invalid or shapes are inconsistent.\n",
    "    \"\"\"\n",
    "    try:\n",
    "        loaded_data = np.load(file_path)\n",
    "        \n",
    "        # Extract data\n",
    "        ppg_f = loaded_data.get('ppg_f')\n",
    "        ecg_f = loaded_data.get('ecg_f')\n",
    "        seg_dbp = loaded_data.get('seg_dbp')\n",
    "        seg_sbp = loaded_data.get('seg_sbp')\n",
    "        \n",
    "        # Check if all required data is present and non-null\n",
    "        if ppg_f is None or ecg_f is None or seg_dbp is None or seg_sbp is None:\n",
    "            return None\n",
    "        \n",
    "        # Check for empty data\n",
    "        if ppg_f.size == 0 or ecg_f.size == 0 or seg_dbp.size == 0 or seg_sbp.size == 0:\n",
    "            return None\n",
    "\n",
    "        return ppg_f, ecg_f, seg_dbp, seg_sbp\n",
    "    \n",
    "    except Exception as e:\n",
    "        print(f\"Error loading {file_path}: {e}\")\n",
    "        return None\n",
    "\n",
    "def bandpass_filter(data, lowcut, highcut, fs, order=5):\n",
    "    \"\"\"\n",
    "    Apply a bandpass filter to the data.\n",
    "    \"\"\"\n",
    "    nyquist = 0.5 * fs\n",
    "    low = lowcut / nyquist\n",
    "    high = highcut / nyquist\n",
    "    b, a = butter(order, [low, high], btype='band')\n",
    "    return filtfilt(b, a, data)\n",
    "\n",
    "def preprocess_signal(signal, fs):\n",
    "    \"\"\"\n",
    "    Preprocess the signal by bandpass filtering and normalization.\n",
    "    \"\"\"\n",
    "    filtered_signal = bandpass_filter(signal, 0.5, 40, fs)\n",
    "    normalized_signal = (filtered_signal - np.mean(filtered_signal)) / np.std(filtered_signal)\n",
    "    return normalized_signal\n",
    "\n",
    "def create_visibility_graph(ppg_signal):\n",
    "    n = len(ppg_signal)\n",
    "    G = nx.Graph()\n",
    "    G.add_nodes_from(range(n))\n",
    "\n",
    "    for i in range(n):\n",
    "        for j in range(i + 1, n):\n",
    "            visible = True\n",
    "            for k in range(i + 1, j):\n",
    "                if ppg_signal[k] >= ppg_signal[i] + (ppg_signal[j] - ppg_signal[i]) * (k - i) / (j - i):\n",
    "                    visible = False\n",
    "                    break\n",
    "            if visible:\n",
    "                G.add_edge(i, j)\n",
    "                \n",
    "    return G\n",
    "\n",
    "def graph_to_adjacency_matrix_image(G, size):\n",
    "    adj_matrix = nx.to_numpy_array(G)\n",
    "    adj_matrix_resized = zoom(adj_matrix, (size / adj_matrix.shape[0], size / adj_matrix.shape[1]), order=0)\n",
    "    return adj_matrix_resized\n",
    "\n",
    "def graph_to_flattened_adjacency_matrix(G, size):\n",
    "    adj_matrix = nx.to_numpy_array(G)\n",
    "    adj_matrix_resized = zoom(adj_matrix, (size / adj_matrix.shape[0], size / adj_matrix.shape[1]), order=0)\n",
    "    flattened_adj = adj_matrix_resized.flatten()\n",
    "    return flattened_adj[:size * size]  # Ensure it's the correct size\n",
    "\n",
    "def generate_vg_image(ppg_signal, size):\n",
    "    G = create_visibility_graph(ppg_signal)\n",
    "    vg_image = graph_to_adjacency_matrix_image(G, size)\n",
    "    return vg_image\n",
    "\n",
    "def plot_vg_images(vg_images):\n",
    "    plt.figure(figsize=(10, 10))\n",
    "    num_images = len(vg_images)\n",
    "    for i in range(num_images):\n",
    "        plt.subplot(1, num_images, i + 1)\n",
    "        plt.imshow(vg_images[i], cmap='gray')\n",
    "        plt.axis('off')\n",
    "    plt.show()\n",
    "    \n",
    "def combine_data_from_folder(folder_path , batch_size=100):\n",
    "    \"\"\"\n",
    "    Combine and preprocess data from all valid files in the folder and generate VG images.\n",
    "    \"\"\"\n",
    "    combined_ppg = []\n",
    "    combined_ecg = []\n",
    "    combined_seg_dbp = []\n",
    "    combined_seg_sbp = []\n",
    "\n",
    "    for file_name in os.listdir(folder_path):\n",
    "        file_path = os.path.join(folder_path, file_name)\n",
    "        \n",
    "        if not file_path.endswith('.npz'):\n",
    "            continue\n",
    "        \n",
    "        data = load_and_validate_data(file_path)\n",
    "        \n",
    "        if data is None:\n",
    "            print(f\"Skipping invalid file: {file_path}\")\n",
    "            continue\n",
    "        \n",
    "        ppg_f, ecg_f, seg_dbp, seg_sbp = data\n",
    "        \n",
    "        if ppg_f.ndim == 3:\n",
    "            for i in range(ppg_f.shape[0]):\n",
    "                preprocessed_ppg = preprocess_signal(ppg_f[i], 1000)\n",
    "                combined_ppg.append(preprocessed_ppg)\n",
    "        else:\n",
    "            print(f\"Skipping PPG data with unexpected shape: {ppg_f.shape}\")\n",
    "        \n",
    "        if ecg_f.ndim == 3:\n",
    "            for i in range(ecg_f.shape[0]):\n",
    "                preprocessed_ecg = preprocess_signal(ecg_f[i], 1000)\n",
    "                combined_ecg.append(preprocessed_ecg)\n",
    "        else:\n",
    "            print(f\"Skipping ECG data with unexpected shape: {ecg_f.shape}\")\n",
    "        \n",
    "        if seg_dbp.ndim == 2:\n",
    "            combined_seg_dbp.append(seg_dbp)\n",
    "        else:\n",
    "            print(f\"Skipping SegDBP data with unexpected shape: {seg_dbp.shape}\")\n",
    "        \n",
    "        if seg_sbp.ndim == 2:\n",
    "            combined_seg_sbp.append(seg_sbp)\n",
    "        else:\n",
    "            print(f\"Skipping SegSBP data with unexpected shape: {seg_sbp.shape}\")\n",
    "        \n",
    "        if len(combined_ppg) >= batch_size:\n",
    "            combined_ppg = np.stack(combined_ppg, axis=0)\n",
    "            combined_ecg = np.stack(combined_ecg, axis=0)\n",
    "            combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "            combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "            \n",
    "            yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp\n",
    "            \n",
    "            combined_ppg = []\n",
    "            combined_ecg = []\n",
    "            combined_seg_dbp = []\n",
    "            combined_seg_sbp = []\n",
    "            \n",
    "\n",
    "    if combined_ppg:\n",
    "        combined_ppg = np.stack(combined_ppg, axis=0)\n",
    "    else:\n",
    "        combined_ppg = np.array([])\n",
    "        \n",
    "    if combined_ecg:\n",
    "        combined_ecg = np.stack(combined_ecg, axis=0)\n",
    "    else:\n",
    "        combined_ecg = np.array([])\n",
    "        \n",
    "    if combined_seg_dbp:\n",
    "        combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_dbp = np.array([])\n",
    "        \n",
    "    if combined_seg_sbp:\n",
    "        combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_sbp = np.array([])\n",
    "\n",
    "    yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp\n",
    "\n",
    "# Function to apply PCA on a batch of VG images\n",
    "def apply_pca_to_images(vg_images, n_components):\n",
    "    # Flatten all images to create a batch\n",
    "    flattened_images = np.array([image.flatten() for image in vg_images])\n",
    "\n",
    "    # Check if we have enough samples and features to apply PCA\n",
    "    n_samples, n_features = flattened_images.shape\n",
    "    if n_samples > 1 and n_features > n_components:\n",
    "        pca = PCA(n_components=n_components)\n",
    "        reduced_images = pca.fit_transform(flattened_images)\n",
    "        return reduced_images\n",
    "    else:\n",
    "        # If not enough samples or features, return the original flattened images\n",
    "        return flattened_images\n",
    "    \n",
    "def invert_images(vg_images):\n",
    "    # Invert pixel values (assuming images are in [0, 255] range)\n",
    "    inverted_images = [255 - image for image in vg_images]\n",
    "    return inverted_images\n",
    "\n",
    "# Define folder path containing .npz files\n",
    "folder_path = r'C:\\Users\\nihal\\Desktop\\NIHAL_IMP_DOCS\\Internship_PPG\\processed_npz_files_VitalDB_Final'\n",
    "#folder_path = r'C:\\Users\\nihal\\Desktop\\xyz'\n",
    "vg_image_size = 224  # Define the size for VG images\n",
    "\n",
    "# Combine data from all valid files\n",
    "combined_data_generator = combine_data_from_folder(folder_path, vg_image_size)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1a87fa87",
   "metadata": {},
   "source": [
    "# THE BELOW CODE IS FOR VISUALIZING TSNE FOR SINGLE BATCH"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e7039f4a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processing Batch 1...\n",
      "Generating VG image for PPG signal 1/916\n",
      "Generating VG image for PPG signal 2/916\n",
      "Generating VG image for PPG signal 3/916\n",
      "Generating VG image for PPG signal 4/916\n",
      "Generating VG image for PPG signal 5/916\n",
      "Generating VG image for PPG signal 6/916\n",
      "Generating VG image for PPG signal 7/916\n",
      "Generating VG image for PPG signal 8/916\n",
      "Generating VG image for PPG signal 9/916\n",
      "Generating VG image for PPG signal 10/916\n",
      "Generating VG image for PPG signal 11/916\n",
      "Generating VG image for PPG signal 12/916\n",
      "Generating VG image for PPG signal 13/916\n",
      "Generating VG image for PPG signal 14/916\n",
      "Generating VG image for PPG signal 15/916\n",
      "Generating VG image for PPG signal 16/916\n",
      "Generating VG image for PPG signal 17/916\n",
      "Generating VG image for PPG signal 18/916\n",
      "Generating VG image for PPG signal 19/916\n",
      "Generating VG image for PPG signal 20/916\n",
      "Generating VG image for PPG signal 21/916\n",
      "Generating VG image for PPG signal 22/916\n",
      "Generating VG image for PPG signal 23/916\n",
      "Generating VG image for PPG signal 24/916\n",
      "Generating VG image for PPG signal 25/916\n",
      "Generating VG image for PPG signal 26/916\n",
      "Generating VG image for PPG signal 27/916\n",
      "Generating VG image for PPG signal 28/916\n",
      "Generating VG image for PPG signal 29/916\n",
      "Generating VG image for PPG signal 30/916\n",
      "Generating VG image for PPG signal 31/916\n",
      "Generating VG image for PPG signal 32/916\n",
      "Generating VG image for PPG signal 33/916\n",
      "Generating VG image for PPG signal 34/916\n",
      "Generating VG image for PPG signal 35/916\n",
      "Generating VG image for PPG signal 36/916\n",
      "Generating VG image for PPG signal 37/916\n",
      "Generating VG image for PPG signal 38/916\n",
      "Generating VG image for PPG signal 39/916\n",
      "Generating VG image for PPG signal 40/916\n",
      "Generating VG image for PPG signal 41/916\n",
      "Generating VG image for PPG signal 42/916\n",
      "Generating VG image for PPG signal 43/916\n",
      "Generating VG image for PPG signal 44/916\n",
      "Generating VG image for PPG signal 45/916\n",
      "Generating VG image for PPG signal 46/916\n",
      "Generating VG image for PPG signal 47/916\n",
      "Generating VG image for PPG signal 48/916\n",
      "Generating VG image for PPG signal 49/916\n",
      "Generating VG image for PPG signal 50/916\n",
      "Generating VG image for PPG signal 51/916\n",
      "Generating VG image for PPG signal 52/916\n",
      "Generating VG image for PPG signal 53/916\n",
      "Generating VG image for PPG signal 54/916\n",
      "Generating VG image for PPG signal 55/916\n",
      "Generating VG image for PPG signal 56/916\n",
      "Generating VG image for PPG signal 57/916\n",
      "Generating VG image for PPG signal 58/916\n",
      "Generating VG image for PPG signal 59/916\n",
      "Generating VG image for PPG signal 60/916\n",
      "Generating VG image for PPG signal 61/916\n",
      "Generating VG image for PPG signal 62/916\n",
      "Generating VG image for PPG signal 63/916\n",
      "Generating VG image for PPG signal 64/916\n",
      "Generating VG image for PPG signal 65/916\n",
      "Generating VG image for PPG signal 66/916\n",
      "Generating VG image for PPG signal 67/916\n",
      "Generating VG image for PPG signal 68/916\n",
      "Generating VG image for PPG signal 69/916\n",
      "Generating VG image for PPG signal 70/916\n",
      "Generating VG image for PPG signal 71/916\n",
      "Generating VG image for PPG signal 72/916\n",
      "Generating VG image for PPG signal 73/916\n",
      "Generating VG image for PPG signal 74/916\n",
      "Generating VG image for PPG signal 75/916\n",
      "Generating VG image for PPG signal 76/916\n",
      "Generating VG image for PPG signal 77/916\n",
      "Generating VG image for PPG signal 78/916\n",
      "Generating VG image for PPG signal 79/916\n",
      "Generating VG image for PPG signal 80/916\n",
      "Generating VG image for PPG signal 81/916\n",
      "Generating VG image for PPG signal 82/916\n",
      "Generating VG image for PPG signal 83/916\n",
      "Generating VG image for PPG signal 84/916\n",
      "Generating VG image for PPG signal 85/916\n",
      "Generating VG image for PPG signal 86/916\n",
      "Generating VG image for PPG signal 87/916\n",
      "Generating VG image for PPG signal 88/916\n",
      "Generating VG image for PPG signal 89/916\n",
      "Generating VG image for PPG signal 90/916\n",
      "Generating VG image for PPG signal 91/916\n",
      "Generating VG image for PPG signal 92/916\n",
      "Generating VG image for PPG signal 93/916\n",
      "Generating VG image for PPG signal 94/916\n",
      "Generating VG image for PPG signal 95/916\n",
      "Generating VG image for PPG signal 96/916\n",
      "Generating VG image for PPG signal 97/916\n",
      "Generating VG image for PPG signal 98/916\n",
      "Generating VG image for PPG signal 99/916\n",
      "Generating VG image for PPG signal 100/916\n",
      "Generating VG image for PPG signal 101/916\n",
      "Generating VG image for PPG signal 102/916\n",
      "Generating VG image for PPG signal 103/916\n",
      "Generating VG image for PPG signal 104/916\n",
      "Generating VG image for PPG signal 105/916\n",
      "Generating VG image for PPG signal 106/916\n",
      "Generating VG image for PPG signal 107/916\n",
      "Generating VG image for PPG signal 108/916\n",
      "Generating VG image for PPG signal 109/916\n",
      "Generating VG image for PPG signal 110/916\n",
      "Generating VG image for PPG signal 111/916\n",
      "Generating VG image for PPG signal 112/916\n",
      "Generating VG image for PPG signal 113/916\n",
      "Generating VG image for PPG signal 114/916\n",
      "Generating VG image for PPG signal 115/916\n",
      "Generating VG image for PPG signal 116/916\n",
      "Generating VG image for PPG signal 117/916\n",
      "Generating VG image for PPG signal 118/916\n",
      "Generating VG image for PPG signal 119/916\n",
      "Generating VG image for PPG signal 120/916\n",
      "Generating VG image for PPG signal 121/916\n",
      "Generating VG image for PPG signal 122/916\n",
      "Generating VG image for PPG signal 123/916\n",
      "Generating VG image for PPG signal 124/916\n",
      "Generating VG image for PPG signal 125/916\n",
      "Generating VG image for PPG signal 126/916\n",
      "Generating VG image for PPG signal 127/916\n",
      "Generating VG image for PPG signal 128/916\n",
      "Generating VG image for PPG signal 129/916\n",
      "Generating VG image for PPG signal 130/916\n",
      "Generating VG image for PPG signal 131/916\n",
      "Generating VG image for PPG signal 132/916\n",
      "Generating VG image for PPG signal 133/916\n",
      "Generating VG image for PPG signal 134/916\n",
      "Generating VG image for PPG signal 135/916\n",
      "Generating VG image for PPG signal 136/916\n",
      "Generating VG image for PPG signal 137/916\n",
      "Generating VG image for PPG signal 138/916\n",
      "Generating VG image for PPG signal 139/916\n",
      "Generating VG image for PPG signal 140/916\n",
      "Generating VG image for PPG signal 141/916\n",
      "Generating VG image for PPG signal 142/916\n",
      "Generating VG image for PPG signal 143/916\n",
      "Generating VG image for PPG signal 144/916\n",
      "Generating VG image for PPG signal 145/916\n",
      "Generating VG image for PPG signal 146/916\n",
      "Generating VG image for PPG signal 147/916\n",
      "Generating VG image for PPG signal 148/916\n",
      "Generating VG image for PPG signal 149/916\n",
      "Generating VG image for PPG signal 150/916\n",
      "Generating VG image for PPG signal 151/916\n",
      "Generating VG image for PPG signal 152/916\n",
      "Generating VG image for PPG signal 153/916\n",
      "Generating VG image for PPG signal 154/916\n",
      "Generating VG image for PPG signal 155/916\n",
      "Generating VG image for PPG signal 156/916\n",
      "Generating VG image for PPG signal 157/916\n",
      "Generating VG image for PPG signal 158/916\n",
      "Generating VG image for PPG signal 159/916\n",
      "Generating VG image for PPG signal 160/916\n",
      "Generating VG image for PPG signal 161/916\n",
      "Generating VG image for PPG signal 162/916\n",
      "Generating VG image for PPG signal 163/916\n",
      "Generating VG image for PPG signal 164/916\n",
      "Generating VG image for PPG signal 165/916\n",
      "Generating VG image for PPG signal 166/916\n",
      "Generating VG image for PPG signal 167/916\n",
      "Generating VG image for PPG signal 168/916\n",
      "Generating VG image for PPG signal 169/916\n",
      "Generating VG image for PPG signal 170/916\n",
      "Generating VG image for PPG signal 171/916\n",
      "Generating VG image for PPG signal 172/916\n",
      "Generating VG image for PPG signal 173/916\n",
      "Generating VG image for PPG signal 174/916\n",
      "Generating VG image for PPG signal 175/916\n",
      "Generating VG image for PPG signal 176/916\n",
      "Generating VG image for PPG signal 177/916\n",
      "Generating VG image for PPG signal 178/916\n",
      "Generating VG image for PPG signal 179/916\n",
      "Generating VG image for PPG signal 180/916\n",
      "Generating VG image for PPG signal 181/916\n",
      "Generating VG image for PPG signal 182/916\n",
      "Generating VG image for PPG signal 183/916\n",
      "Generating VG image for PPG signal 184/916\n",
      "Generating VG image for PPG signal 185/916\n",
      "Generating VG image for PPG signal 186/916\n",
      "Generating VG image for PPG signal 187/916\n",
      "Generating VG image for PPG signal 188/916\n",
      "Generating VG image for PPG signal 189/916\n",
      "Generating VG image for PPG signal 190/916\n",
      "Generating VG image for PPG signal 191/916\n",
      "Generating VG image for PPG signal 192/916\n",
      "Generating VG image for PPG signal 193/916\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 194/916\n",
      "Generating VG image for PPG signal 195/916\n",
      "Generating VG image for PPG signal 196/916\n",
      "Generating VG image for PPG signal 197/916\n",
      "Generating VG image for PPG signal 198/916\n",
      "Generating VG image for PPG signal 199/916\n",
      "Generating VG image for PPG signal 200/916\n",
      "Generating VG image for PPG signal 201/916\n",
      "Generating VG image for PPG signal 202/916\n",
      "Generating VG image for PPG signal 203/916\n",
      "Generating VG image for PPG signal 204/916\n",
      "Generating VG image for PPG signal 205/916\n",
      "Generating VG image for PPG signal 206/916\n",
      "Generating VG image for PPG signal 207/916\n",
      "Generating VG image for PPG signal 208/916\n",
      "Generating VG image for PPG signal 209/916\n",
      "Generating VG image for PPG signal 210/916\n",
      "Generating VG image for PPG signal 211/916\n",
      "Generating VG image for PPG signal 212/916\n",
      "Generating VG image for PPG signal 213/916\n",
      "Generating VG image for PPG signal 214/916\n",
      "Generating VG image for PPG signal 215/916\n",
      "Generating VG image for PPG signal 216/916\n",
      "Generating VG image for PPG signal 217/916\n",
      "Generating VG image for PPG signal 218/916\n",
      "Generating VG image for PPG signal 219/916\n",
      "Generating VG image for PPG signal 220/916\n",
      "Generating VG image for PPG signal 221/916\n",
      "Generating VG image for PPG signal 222/916\n",
      "Generating VG image for PPG signal 223/916\n",
      "Generating VG image for PPG signal 224/916\n",
      "Generating VG image for PPG signal 225/916\n",
      "Generating VG image for PPG signal 226/916\n",
      "Generating VG image for PPG signal 227/916\n",
      "Generating VG image for PPG signal 228/916\n",
      "Generating VG image for PPG signal 229/916\n",
      "Generating VG image for PPG signal 230/916\n",
      "Generating VG image for PPG signal 231/916\n",
      "Generating VG image for PPG signal 232/916\n",
      "Generating VG image for PPG signal 233/916\n",
      "Generating VG image for PPG signal 234/916\n",
      "Generating VG image for PPG signal 235/916\n",
      "Generating VG image for PPG signal 236/916\n",
      "Generating VG image for PPG signal 237/916\n",
      "Generating VG image for PPG signal 238/916\n",
      "Generating VG image for PPG signal 239/916\n",
      "Generating VG image for PPG signal 240/916\n",
      "Generating VG image for PPG signal 241/916\n",
      "Generating VG image for PPG signal 242/916\n",
      "Generating VG image for PPG signal 243/916\n",
      "Generating VG image for PPG signal 244/916\n",
      "Generating VG image for PPG signal 245/916\n",
      "Generating VG image for PPG signal 246/916\n",
      "Generating VG image for PPG signal 247/916\n",
      "Generating VG image for PPG signal 248/916\n",
      "Generating VG image for PPG signal 249/916\n",
      "Generating VG image for PPG signal 250/916\n",
      "Generating VG image for PPG signal 251/916\n",
      "Generating VG image for PPG signal 252/916\n",
      "Generating VG image for PPG signal 253/916\n",
      "Generating VG image for PPG signal 254/916\n",
      "Generating VG image for PPG signal 255/916\n",
      "Generating VG image for PPG signal 256/916\n",
      "Generating VG image for PPG signal 257/916\n",
      "Generating VG image for PPG signal 258/916\n",
      "Generating VG image for PPG signal 259/916\n",
      "Generating VG image for PPG signal 260/916\n",
      "Generating VG image for PPG signal 261/916\n",
      "Generating VG image for PPG signal 262/916\n",
      "Generating VG image for PPG signal 263/916\n",
      "Generating VG image for PPG signal 264/916\n",
      "Generating VG image for PPG signal 265/916\n",
      "Generating VG image for PPG signal 266/916\n",
      "Generating VG image for PPG signal 267/916\n",
      "Generating VG image for PPG signal 268/916\n",
      "Generating VG image for PPG signal 269/916\n",
      "Generating VG image for PPG signal 270/916\n",
      "Generating VG image for PPG signal 271/916\n",
      "Generating VG image for PPG signal 272/916\n",
      "Generating VG image for PPG signal 273/916\n",
      "Generating VG image for PPG signal 274/916\n",
      "Generating VG image for PPG signal 275/916\n",
      "Generating VG image for PPG signal 276/916\n",
      "Generating VG image for PPG signal 277/916\n",
      "Generating VG image for PPG signal 278/916\n",
      "Generating VG image for PPG signal 279/916\n",
      "Generating VG image for PPG signal 280/916\n",
      "Generating VG image for PPG signal 281/916\n",
      "Generating VG image for PPG signal 282/916\n",
      "Generating VG image for PPG signal 283/916\n",
      "Generating VG image for PPG signal 284/916\n",
      "Generating VG image for PPG signal 285/916\n",
      "Generating VG image for PPG signal 286/916\n",
      "Generating VG image for PPG signal 287/916\n",
      "Generating VG image for PPG signal 288/916\n",
      "Generating VG image for PPG signal 289/916\n",
      "Generating VG image for PPG signal 290/916\n",
      "Generating VG image for PPG signal 291/916\n",
      "Generating VG image for PPG signal 292/916\n",
      "Generating VG image for PPG signal 293/916\n",
      "Generating VG image for PPG signal 294/916\n",
      "Generating VG image for PPG signal 295/916\n",
      "Generating VG image for PPG signal 296/916\n",
      "Generating VG image for PPG signal 297/916\n",
      "Generating VG image for PPG signal 298/916\n",
      "Generating VG image for PPG signal 299/916\n",
      "Generating VG image for PPG signal 300/916\n",
      "Generating VG image for PPG signal 301/916\n",
      "Generating VG image for PPG signal 302/916\n",
      "Generating VG image for PPG signal 303/916\n",
      "Generating VG image for PPG signal 304/916\n",
      "Generating VG image for PPG signal 305/916\n",
      "Generating VG image for PPG signal 306/916\n",
      "Generating VG image for PPG signal 307/916\n",
      "Generating VG image for PPG signal 308/916\n",
      "Generating VG image for PPG signal 309/916\n",
      "Generating VG image for PPG signal 310/916\n",
      "Generating VG image for PPG signal 311/916\n",
      "Generating VG image for PPG signal 312/916\n",
      "Generating VG image for PPG signal 313/916\n",
      "Generating VG image for PPG signal 314/916\n",
      "Generating VG image for PPG signal 315/916\n",
      "Generating VG image for PPG signal 316/916\n",
      "Generating VG image for PPG signal 317/916\n",
      "Generating VG image for PPG signal 318/916\n",
      "Generating VG image for PPG signal 319/916\n",
      "Generating VG image for PPG signal 320/916\n",
      "Generating VG image for PPG signal 321/916\n",
      "Generating VG image for PPG signal 322/916\n",
      "Generating VG image for PPG signal 323/916\n",
      "Generating VG image for PPG signal 324/916\n",
      "Generating VG image for PPG signal 325/916\n",
      "Generating VG image for PPG signal 326/916\n",
      "Generating VG image for PPG signal 327/916\n",
      "Generating VG image for PPG signal 328/916\n",
      "Generating VG image for PPG signal 329/916\n",
      "Generating VG image for PPG signal 330/916\n",
      "Generating VG image for PPG signal 331/916\n",
      "Generating VG image for PPG signal 332/916\n",
      "Generating VG image for PPG signal 333/916\n",
      "Generating VG image for PPG signal 334/916\n",
      "Generating VG image for PPG signal 335/916\n",
      "Generating VG image for PPG signal 336/916\n",
      "Generating VG image for PPG signal 337/916\n",
      "Generating VG image for PPG signal 338/916\n",
      "Generating VG image for PPG signal 339/916\n",
      "Generating VG image for PPG signal 340/916\n",
      "Generating VG image for PPG signal 341/916\n",
      "Generating VG image for PPG signal 342/916\n",
      "Generating VG image for PPG signal 343/916\n",
      "Generating VG image for PPG signal 344/916\n",
      "Generating VG image for PPG signal 345/916\n",
      "Generating VG image for PPG signal 346/916\n",
      "Generating VG image for PPG signal 347/916\n",
      "Generating VG image for PPG signal 348/916\n",
      "Generating VG image for PPG signal 349/916\n",
      "Generating VG image for PPG signal 350/916\n",
      "Generating VG image for PPG signal 351/916\n",
      "Generating VG image for PPG signal 352/916\n",
      "Generating VG image for PPG signal 353/916\n",
      "Generating VG image for PPG signal 354/916\n",
      "Generating VG image for PPG signal 355/916\n",
      "Generating VG image for PPG signal 356/916\n",
      "Generating VG image for PPG signal 357/916\n",
      "Generating VG image for PPG signal 358/916\n",
      "Generating VG image for PPG signal 359/916\n",
      "Generating VG image for PPG signal 360/916\n",
      "Generating VG image for PPG signal 361/916\n",
      "Generating VG image for PPG signal 362/916\n",
      "Generating VG image for PPG signal 363/916\n",
      "Generating VG image for PPG signal 364/916\n",
      "Generating VG image for PPG signal 365/916\n",
      "Generating VG image for PPG signal 366/916\n",
      "Generating VG image for PPG signal 367/916\n",
      "Generating VG image for PPG signal 368/916\n",
      "Generating VG image for PPG signal 369/916\n",
      "Generating VG image for PPG signal 370/916\n",
      "Generating VG image for PPG signal 371/916\n",
      "Generating VG image for PPG signal 372/916\n",
      "Generating VG image for PPG signal 373/916\n",
      "Generating VG image for PPG signal 374/916\n",
      "Generating VG image for PPG signal 375/916\n",
      "Generating VG image for PPG signal 376/916\n",
      "Generating VG image for PPG signal 377/916\n",
      "Generating VG image for PPG signal 378/916\n",
      "Generating VG image for PPG signal 379/916\n",
      "Generating VG image for PPG signal 380/916\n",
      "Generating VG image for PPG signal 381/916\n",
      "Generating VG image for PPG signal 382/916\n",
      "Generating VG image for PPG signal 383/916\n",
      "Generating VG image for PPG signal 384/916\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 385/916\n",
      "Generating VG image for PPG signal 386/916\n",
      "Generating VG image for PPG signal 387/916\n",
      "Generating VG image for PPG signal 388/916\n",
      "Generating VG image for PPG signal 389/916\n",
      "Generating VG image for PPG signal 390/916\n",
      "Generating VG image for PPG signal 391/916\n",
      "Generating VG image for PPG signal 392/916\n",
      "Generating VG image for PPG signal 393/916\n",
      "Generating VG image for PPG signal 394/916\n",
      "Generating VG image for PPG signal 395/916\n",
      "Generating VG image for PPG signal 396/916\n",
      "Generating VG image for PPG signal 397/916\n",
      "Generating VG image for PPG signal 398/916\n",
      "Generating VG image for PPG signal 399/916\n",
      "Generating VG image for PPG signal 400/916\n",
      "Generating VG image for PPG signal 401/916\n",
      "Generating VG image for PPG signal 402/916\n",
      "Generating VG image for PPG signal 403/916\n",
      "Generating VG image for PPG signal 404/916\n",
      "Generating VG image for PPG signal 405/916\n",
      "Generating VG image for PPG signal 406/916\n",
      "Generating VG image for PPG signal 407/916\n",
      "Generating VG image for PPG signal 408/916\n",
      "Generating VG image for PPG signal 409/916\n",
      "Generating VG image for PPG signal 410/916\n",
      "Generating VG image for PPG signal 411/916\n",
      "Generating VG image for PPG signal 412/916\n",
      "Generating VG image for PPG signal 413/916\n",
      "Generating VG image for PPG signal 414/916\n",
      "Generating VG image for PPG signal 415/916\n",
      "Generating VG image for PPG signal 416/916\n",
      "Generating VG image for PPG signal 417/916\n",
      "Generating VG image for PPG signal 418/916\n",
      "Generating VG image for PPG signal 419/916\n",
      "Generating VG image for PPG signal 420/916\n",
      "Generating VG image for PPG signal 421/916\n",
      "Generating VG image for PPG signal 422/916\n",
      "Generating VG image for PPG signal 423/916\n",
      "Generating VG image for PPG signal 424/916\n",
      "Generating VG image for PPG signal 425/916\n",
      "Generating VG image for PPG signal 426/916\n",
      "Generating VG image for PPG signal 427/916\n",
      "Generating VG image for PPG signal 428/916\n",
      "Generating VG image for PPG signal 429/916\n",
      "Generating VG image for PPG signal 430/916\n",
      "Generating VG image for PPG signal 431/916\n",
      "Generating VG image for PPG signal 432/916\n",
      "Generating VG image for PPG signal 433/916\n",
      "Generating VG image for PPG signal 434/916\n",
      "Generating VG image for PPG signal 435/916\n",
      "Generating VG image for PPG signal 436/916\n",
      "Generating VG image for PPG signal 437/916\n",
      "Generating VG image for PPG signal 438/916\n",
      "Generating VG image for PPG signal 439/916\n",
      "Generating VG image for PPG signal 440/916\n",
      "Generating VG image for PPG signal 441/916\n",
      "Generating VG image for PPG signal 442/916\n",
      "Generating VG image for PPG signal 443/916\n",
      "Generating VG image for PPG signal 444/916\n",
      "Generating VG image for PPG signal 445/916\n",
      "Generating VG image for PPG signal 446/916\n",
      "Generating VG image for PPG signal 447/916\n",
      "Generating VG image for PPG signal 448/916\n",
      "Generating VG image for PPG signal 449/916\n",
      "Generating VG image for PPG signal 450/916\n",
      "Generating VG image for PPG signal 451/916\n",
      "Generating VG image for PPG signal 452/916\n",
      "Generating VG image for PPG signal 453/916\n",
      "Generating VG image for PPG signal 454/916\n",
      "Generating VG image for PPG signal 455/916\n",
      "Generating VG image for PPG signal 456/916\n",
      "Generating VG image for PPG signal 457/916\n",
      "Generating VG image for PPG signal 458/916\n",
      "Generating VG image for PPG signal 459/916\n",
      "Generating VG image for PPG signal 460/916\n",
      "Generating VG image for PPG signal 461/916\n",
      "Generating VG image for PPG signal 462/916\n",
      "Generating VG image for PPG signal 463/916\n",
      "Generating VG image for PPG signal 464/916\n",
      "Generating VG image for PPG signal 465/916\n",
      "Generating VG image for PPG signal 466/916\n",
      "Generating VG image for PPG signal 467/916\n",
      "Generating VG image for PPG signal 468/916\n",
      "Generating VG image for PPG signal 469/916\n",
      "Generating VG image for PPG signal 470/916\n",
      "Generating VG image for PPG signal 471/916\n",
      "Generating VG image for PPG signal 472/916\n",
      "Generating VG image for PPG signal 473/916\n",
      "Generating VG image for PPG signal 474/916\n",
      "Generating VG image for PPG signal 475/916\n",
      "Generating VG image for PPG signal 476/916\n",
      "Generating VG image for PPG signal 477/916\n",
      "Generating VG image for PPG signal 478/916\n",
      "Generating VG image for PPG signal 479/916\n",
      "Generating VG image for PPG signal 480/916\n",
      "Generating VG image for PPG signal 481/916\n",
      "Generating VG image for PPG signal 482/916\n",
      "Generating VG image for PPG signal 483/916\n",
      "Generating VG image for PPG signal 484/916\n",
      "Generating VG image for PPG signal 485/916\n",
      "Generating VG image for PPG signal 486/916\n",
      "Generating VG image for PPG signal 487/916\n",
      "Generating VG image for PPG signal 488/916\n",
      "Generating VG image for PPG signal 489/916\n",
      "Generating VG image for PPG signal 490/916\n",
      "Generating VG image for PPG signal 491/916\n",
      "Generating VG image for PPG signal 492/916\n",
      "Generating VG image for PPG signal 493/916\n",
      "Generating VG image for PPG signal 494/916\n",
      "Generating VG image for PPG signal 495/916\n",
      "Generating VG image for PPG signal 496/916\n",
      "Generating VG image for PPG signal 497/916\n",
      "Generating VG image for PPG signal 498/916\n",
      "Generating VG image for PPG signal 499/916\n",
      "Generating VG image for PPG signal 500/916\n",
      "Generating VG image for PPG signal 501/916\n",
      "Generating VG image for PPG signal 502/916\n",
      "Generating VG image for PPG signal 503/916\n",
      "Generating VG image for PPG signal 504/916\n",
      "Generating VG image for PPG signal 505/916\n",
      "Generating VG image for PPG signal 506/916\n",
      "Generating VG image for PPG signal 507/916\n",
      "Generating VG image for PPG signal 508/916\n",
      "Generating VG image for PPG signal 509/916\n",
      "Generating VG image for PPG signal 510/916\n",
      "Generating VG image for PPG signal 511/916\n",
      "Generating VG image for PPG signal 512/916\n",
      "Generating VG image for PPG signal 513/916\n",
      "Generating VG image for PPG signal 514/916\n",
      "Generating VG image for PPG signal 515/916\n",
      "Generating VG image for PPG signal 516/916\n",
      "Generating VG image for PPG signal 517/916\n",
      "Generating VG image for PPG signal 518/916\n",
      "Generating VG image for PPG signal 519/916\n",
      "Generating VG image for PPG signal 520/916\n",
      "Generating VG image for PPG signal 521/916\n",
      "Generating VG image for PPG signal 522/916\n",
      "Generating VG image for PPG signal 523/916\n",
      "Generating VG image for PPG signal 524/916\n",
      "Generating VG image for PPG signal 525/916\n",
      "Generating VG image for PPG signal 526/916\n",
      "Generating VG image for PPG signal 527/916\n",
      "Generating VG image for PPG signal 528/916\n",
      "Generating VG image for PPG signal 529/916\n",
      "Generating VG image for PPG signal 530/916\n",
      "Generating VG image for PPG signal 531/916\n",
      "Generating VG image for PPG signal 532/916\n",
      "Generating VG image for PPG signal 533/916\n",
      "Generating VG image for PPG signal 534/916\n",
      "Generating VG image for PPG signal 535/916\n",
      "Generating VG image for PPG signal 536/916\n",
      "Generating VG image for PPG signal 537/916\n",
      "Generating VG image for PPG signal 538/916\n",
      "Generating VG image for PPG signal 539/916\n",
      "Generating VG image for PPG signal 540/916\n",
      "Generating VG image for PPG signal 541/916\n",
      "Generating VG image for PPG signal 542/916\n",
      "Generating VG image for PPG signal 543/916\n",
      "Generating VG image for PPG signal 544/916\n",
      "Generating VG image for PPG signal 545/916\n",
      "Generating VG image for PPG signal 546/916\n",
      "Generating VG image for PPG signal 547/916\n",
      "Generating VG image for PPG signal 548/916\n",
      "Generating VG image for PPG signal 549/916\n",
      "Generating VG image for PPG signal 550/916\n",
      "Generating VG image for PPG signal 551/916\n",
      "Generating VG image for PPG signal 552/916\n",
      "Generating VG image for PPG signal 553/916\n",
      "Generating VG image for PPG signal 554/916\n",
      "Generating VG image for PPG signal 555/916\n",
      "Generating VG image for PPG signal 556/916\n",
      "Generating VG image for PPG signal 557/916\n",
      "Generating VG image for PPG signal 558/916\n",
      "Generating VG image for PPG signal 559/916\n",
      "Generating VG image for PPG signal 560/916\n",
      "Generating VG image for PPG signal 561/916\n",
      "Generating VG image for PPG signal 562/916\n",
      "Generating VG image for PPG signal 563/916\n",
      "Generating VG image for PPG signal 564/916\n",
      "Generating VG image for PPG signal 565/916\n",
      "Generating VG image for PPG signal 566/916\n",
      "Generating VG image for PPG signal 567/916\n",
      "Generating VG image for PPG signal 568/916\n",
      "Generating VG image for PPG signal 569/916\n",
      "Generating VG image for PPG signal 570/916\n",
      "Generating VG image for PPG signal 571/916\n",
      "Generating VG image for PPG signal 572/916\n",
      "Generating VG image for PPG signal 573/916\n",
      "Generating VG image for PPG signal 574/916\n",
      "Generating VG image for PPG signal 575/916\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 576/916\n",
      "Generating VG image for PPG signal 577/916\n",
      "Generating VG image for PPG signal 578/916\n",
      "Generating VG image for PPG signal 579/916\n",
      "Generating VG image for PPG signal 580/916\n",
      "Generating VG image for PPG signal 581/916\n",
      "Generating VG image for PPG signal 582/916\n",
      "Generating VG image for PPG signal 583/916\n",
      "Generating VG image for PPG signal 584/916\n",
      "Generating VG image for PPG signal 585/916\n",
      "Generating VG image for PPG signal 586/916\n",
      "Generating VG image for PPG signal 587/916\n",
      "Generating VG image for PPG signal 588/916\n",
      "Generating VG image for PPG signal 589/916\n",
      "Generating VG image for PPG signal 590/916\n",
      "Generating VG image for PPG signal 591/916\n",
      "Generating VG image for PPG signal 592/916\n",
      "Generating VG image for PPG signal 593/916\n",
      "Generating VG image for PPG signal 594/916\n",
      "Generating VG image for PPG signal 595/916\n",
      "Generating VG image for PPG signal 596/916\n",
      "Generating VG image for PPG signal 597/916\n",
      "Generating VG image for PPG signal 598/916\n",
      "Generating VG image for PPG signal 599/916\n",
      "Generating VG image for PPG signal 600/916\n",
      "Generating VG image for PPG signal 601/916\n",
      "Generating VG image for PPG signal 602/916\n",
      "Generating VG image for PPG signal 603/916\n",
      "Generating VG image for PPG signal 604/916\n",
      "Generating VG image for PPG signal 605/916\n",
      "Generating VG image for PPG signal 606/916\n",
      "Generating VG image for PPG signal 607/916\n",
      "Generating VG image for PPG signal 608/916\n",
      "Generating VG image for PPG signal 609/916\n",
      "Generating VG image for PPG signal 610/916\n",
      "Generating VG image for PPG signal 611/916\n",
      "Generating VG image for PPG signal 612/916\n",
      "Generating VG image for PPG signal 613/916\n",
      "Generating VG image for PPG signal 614/916\n",
      "Generating VG image for PPG signal 615/916\n",
      "Generating VG image for PPG signal 616/916\n",
      "Generating VG image for PPG signal 617/916\n",
      "Generating VG image for PPG signal 618/916\n",
      "Generating VG image for PPG signal 619/916\n",
      "Generating VG image for PPG signal 620/916\n",
      "Generating VG image for PPG signal 621/916\n",
      "Generating VG image for PPG signal 622/916\n",
      "Generating VG image for PPG signal 623/916\n",
      "Generating VG image for PPG signal 624/916\n",
      "Generating VG image for PPG signal 625/916\n",
      "Generating VG image for PPG signal 626/916\n",
      "Generating VG image for PPG signal 627/916\n",
      "Generating VG image for PPG signal 628/916\n",
      "Generating VG image for PPG signal 629/916\n",
      "Generating VG image for PPG signal 630/916\n",
      "Generating VG image for PPG signal 631/916\n",
      "Generating VG image for PPG signal 632/916\n",
      "Generating VG image for PPG signal 633/916\n",
      "Generating VG image for PPG signal 634/916\n",
      "Generating VG image for PPG signal 635/916\n",
      "Generating VG image for PPG signal 636/916\n",
      "Generating VG image for PPG signal 637/916\n",
      "Generating VG image for PPG signal 638/916\n",
      "Generating VG image for PPG signal 639/916\n",
      "Generating VG image for PPG signal 640/916\n",
      "Generating VG image for PPG signal 641/916\n",
      "Generating VG image for PPG signal 642/916\n",
      "Generating VG image for PPG signal 643/916\n",
      "Generating VG image for PPG signal 644/916\n",
      "Generating VG image for PPG signal 645/916\n",
      "Generating VG image for PPG signal 646/916\n",
      "Generating VG image for PPG signal 647/916\n",
      "Generating VG image for PPG signal 648/916\n",
      "Generating VG image for PPG signal 649/916\n",
      "Generating VG image for PPG signal 650/916\n",
      "Generating VG image for PPG signal 651/916\n",
      "Generating VG image for PPG signal 652/916\n",
      "Generating VG image for PPG signal 653/916\n",
      "Generating VG image for PPG signal 654/916\n",
      "Generating VG image for PPG signal 655/916\n",
      "Generating VG image for PPG signal 656/916\n",
      "Generating VG image for PPG signal 657/916\n",
      "Generating VG image for PPG signal 658/916\n",
      "Generating VG image for PPG signal 659/916\n",
      "Generating VG image for PPG signal 660/916\n",
      "Generating VG image for PPG signal 661/916\n",
      "Generating VG image for PPG signal 662/916\n",
      "Generating VG image for PPG signal 663/916\n",
      "Generating VG image for PPG signal 664/916\n",
      "Generating VG image for PPG signal 665/916\n",
      "Generating VG image for PPG signal 666/916\n",
      "Generating VG image for PPG signal 667/916\n",
      "Generating VG image for PPG signal 668/916\n",
      "Generating VG image for PPG signal 669/916\n",
      "Generating VG image for PPG signal 670/916\n",
      "Generating VG image for PPG signal 671/916\n",
      "Generating VG image for PPG signal 672/916\n",
      "Generating VG image for PPG signal 673/916\n",
      "Generating VG image for PPG signal 674/916\n",
      "Generating VG image for PPG signal 675/916\n",
      "Generating VG image for PPG signal 676/916\n",
      "Generating VG image for PPG signal 677/916\n",
      "Generating VG image for PPG signal 678/916\n",
      "Generating VG image for PPG signal 679/916\n",
      "Generating VG image for PPG signal 680/916\n",
      "Generating VG image for PPG signal 681/916\n",
      "Generating VG image for PPG signal 682/916\n",
      "Generating VG image for PPG signal 683/916\n",
      "Generating VG image for PPG signal 684/916\n",
      "Generating VG image for PPG signal 685/916\n",
      "Generating VG image for PPG signal 686/916\n",
      "Generating VG image for PPG signal 687/916\n",
      "Generating VG image for PPG signal 688/916\n",
      "Generating VG image for PPG signal 689/916\n",
      "Generating VG image for PPG signal 690/916\n",
      "Generating VG image for PPG signal 691/916\n",
      "Generating VG image for PPG signal 692/916\n",
      "Generating VG image for PPG signal 693/916\n",
      "Generating VG image for PPG signal 694/916\n",
      "Generating VG image for PPG signal 695/916\n",
      "Generating VG image for PPG signal 696/916\n",
      "Generating VG image for PPG signal 697/916\n",
      "Generating VG image for PPG signal 698/916\n",
      "Generating VG image for PPG signal 699/916\n",
      "Generating VG image for PPG signal 700/916\n",
      "Generating VG image for PPG signal 701/916\n",
      "Generating VG image for PPG signal 702/916\n",
      "Generating VG image for PPG signal 703/916\n",
      "Generating VG image for PPG signal 704/916\n",
      "Generating VG image for PPG signal 705/916\n",
      "Generating VG image for PPG signal 706/916\n",
      "Generating VG image for PPG signal 707/916\n",
      "Generating VG image for PPG signal 708/916\n",
      "Generating VG image for PPG signal 709/916\n",
      "Generating VG image for PPG signal 710/916\n",
      "Generating VG image for PPG signal 711/916\n",
      "Generating VG image for PPG signal 712/916\n",
      "Generating VG image for PPG signal 713/916\n",
      "Generating VG image for PPG signal 714/916\n",
      "Generating VG image for PPG signal 715/916\n",
      "Generating VG image for PPG signal 716/916\n",
      "Generating VG image for PPG signal 717/916\n",
      "Generating VG image for PPG signal 718/916\n",
      "Generating VG image for PPG signal 719/916\n",
      "Generating VG image for PPG signal 720/916\n",
      "Generating VG image for PPG signal 721/916\n",
      "Generating VG image for PPG signal 722/916\n",
      "Generating VG image for PPG signal 723/916\n",
      "Generating VG image for PPG signal 724/916\n",
      "Generating VG image for PPG signal 725/916\n",
      "Generating VG image for PPG signal 726/916\n",
      "Generating VG image for PPG signal 727/916\n",
      "Generating VG image for PPG signal 728/916\n",
      "Generating VG image for PPG signal 729/916\n",
      "Generating VG image for PPG signal 730/916\n",
      "Generating VG image for PPG signal 731/916\n",
      "Generating VG image for PPG signal 732/916\n",
      "Generating VG image for PPG signal 733/916\n",
      "Generating VG image for PPG signal 734/916\n",
      "Generating VG image for PPG signal 735/916\n",
      "Generating VG image for PPG signal 736/916\n",
      "Generating VG image for PPG signal 737/916\n",
      "Generating VG image for PPG signal 738/916\n",
      "Generating VG image for PPG signal 739/916\n",
      "Generating VG image for PPG signal 740/916\n",
      "Generating VG image for PPG signal 741/916\n",
      "Generating VG image for PPG signal 742/916\n",
      "Generating VG image for PPG signal 743/916\n",
      "Generating VG image for PPG signal 744/916\n",
      "Generating VG image for PPG signal 745/916\n",
      "Generating VG image for PPG signal 746/916\n",
      "Generating VG image for PPG signal 747/916\n",
      "Generating VG image for PPG signal 748/916\n",
      "Generating VG image for PPG signal 749/916\n",
      "Generating VG image for PPG signal 750/916\n",
      "Generating VG image for PPG signal 751/916\n",
      "Generating VG image for PPG signal 752/916\n",
      "Generating VG image for PPG signal 753/916\n",
      "Generating VG image for PPG signal 754/916\n",
      "Generating VG image for PPG signal 755/916\n",
      "Generating VG image for PPG signal 756/916\n",
      "Generating VG image for PPG signal 757/916\n",
      "Generating VG image for PPG signal 758/916\n",
      "Generating VG image for PPG signal 759/916\n",
      "Generating VG image for PPG signal 760/916\n",
      "Generating VG image for PPG signal 761/916\n",
      "Generating VG image for PPG signal 762/916\n",
      "Generating VG image for PPG signal 763/916\n",
      "Generating VG image for PPG signal 764/916\n",
      "Generating VG image for PPG signal 765/916\n",
      "Generating VG image for PPG signal 766/916\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 767/916\n",
      "Generating VG image for PPG signal 768/916\n",
      "Generating VG image for PPG signal 769/916\n",
      "Generating VG image for PPG signal 770/916\n",
      "Generating VG image for PPG signal 771/916\n",
      "Generating VG image for PPG signal 772/916\n",
      "Generating VG image for PPG signal 773/916\n",
      "Generating VG image for PPG signal 774/916\n",
      "Generating VG image for PPG signal 775/916\n",
      "Generating VG image for PPG signal 776/916\n",
      "Generating VG image for PPG signal 777/916\n",
      "Generating VG image for PPG signal 778/916\n",
      "Generating VG image for PPG signal 779/916\n",
      "Generating VG image for PPG signal 780/916\n",
      "Generating VG image for PPG signal 781/916\n",
      "Generating VG image for PPG signal 782/916\n",
      "Generating VG image for PPG signal 783/916\n",
      "Generating VG image for PPG signal 784/916\n",
      "Generating VG image for PPG signal 785/916\n",
      "Generating VG image for PPG signal 786/916\n",
      "Generating VG image for PPG signal 787/916\n",
      "Generating VG image for PPG signal 788/916\n",
      "Generating VG image for PPG signal 789/916\n",
      "Generating VG image for PPG signal 790/916\n",
      "Generating VG image for PPG signal 791/916\n",
      "Generating VG image for PPG signal 792/916\n",
      "Generating VG image for PPG signal 793/916\n",
      "Generating VG image for PPG signal 794/916\n",
      "Generating VG image for PPG signal 795/916\n",
      "Generating VG image for PPG signal 796/916\n",
      "Generating VG image for PPG signal 797/916\n",
      "Generating VG image for PPG signal 798/916\n",
      "Generating VG image for PPG signal 799/916\n",
      "Generating VG image for PPG signal 800/916\n",
      "Generating VG image for PPG signal 801/916\n",
      "Generating VG image for PPG signal 802/916\n",
      "Generating VG image for PPG signal 803/916\n",
      "Generating VG image for PPG signal 804/916\n",
      "Generating VG image for PPG signal 805/916\n",
      "Generating VG image for PPG signal 806/916\n",
      "Generating VG image for PPG signal 807/916\n",
      "Generating VG image for PPG signal 808/916\n",
      "Generating VG image for PPG signal 809/916\n",
      "Generating VG image for PPG signal 810/916\n",
      "Generating VG image for PPG signal 811/916\n",
      "Generating VG image for PPG signal 812/916\n",
      "Generating VG image for PPG signal 813/916\n",
      "Generating VG image for PPG signal 814/916\n",
      "Generating VG image for PPG signal 815/916\n",
      "Generating VG image for PPG signal 816/916\n",
      "Generating VG image for PPG signal 817/916\n",
      "Generating VG image for PPG signal 818/916\n",
      "Generating VG image for PPG signal 819/916\n",
      "Generating VG image for PPG signal 820/916\n",
      "Generating VG image for PPG signal 821/916\n",
      "Generating VG image for PPG signal 822/916\n",
      "Generating VG image for PPG signal 823/916\n",
      "Generating VG image for PPG signal 824/916\n",
      "Generating VG image for PPG signal 825/916\n",
      "Generating VG image for PPG signal 826/916\n",
      "Generating VG image for PPG signal 827/916\n",
      "Generating VG image for PPG signal 828/916\n",
      "Generating VG image for PPG signal 829/916\n",
      "Generating VG image for PPG signal 830/916\n",
      "Generating VG image for PPG signal 831/916\n",
      "Generating VG image for PPG signal 832/916\n",
      "Generating VG image for PPG signal 833/916\n",
      "Generating VG image for PPG signal 834/916\n",
      "Generating VG image for PPG signal 835/916\n",
      "Generating VG image for PPG signal 836/916\n",
      "Generating VG image for PPG signal 837/916\n",
      "Generating VG image for PPG signal 838/916\n",
      "Generating VG image for PPG signal 839/916\n",
      "Generating VG image for PPG signal 840/916\n",
      "Generating VG image for PPG signal 841/916\n",
      "Generating VG image for PPG signal 842/916\n",
      "Generating VG image for PPG signal 843/916\n",
      "Generating VG image for PPG signal 844/916\n",
      "Generating VG image for PPG signal 845/916\n",
      "Generating VG image for PPG signal 846/916\n",
      "Generating VG image for PPG signal 847/916\n",
      "Generating VG image for PPG signal 848/916\n",
      "Generating VG image for PPG signal 849/916\n",
      "Generating VG image for PPG signal 850/916\n",
      "Generating VG image for PPG signal 851/916\n",
      "Generating VG image for PPG signal 852/916\n",
      "Generating VG image for PPG signal 853/916\n",
      "Generating VG image for PPG signal 854/916\n",
      "Generating VG image for PPG signal 855/916\n",
      "Generating VG image for PPG signal 856/916\n",
      "Generating VG image for PPG signal 857/916\n",
      "Generating VG image for PPG signal 858/916\n",
      "Generating VG image for PPG signal 859/916\n",
      "Generating VG image for PPG signal 860/916\n",
      "Generating VG image for PPG signal 861/916\n",
      "Generating VG image for PPG signal 862/916\n",
      "Generating VG image for PPG signal 863/916\n",
      "Generating VG image for PPG signal 864/916\n",
      "Generating VG image for PPG signal 865/916\n",
      "Generating VG image for PPG signal 866/916\n",
      "Generating VG image for PPG signal 867/916\n",
      "Generating VG image for PPG signal 868/916\n",
      "Generating VG image for PPG signal 869/916\n",
      "Generating VG image for PPG signal 870/916\n",
      "Generating VG image for PPG signal 871/916\n",
      "Generating VG image for PPG signal 872/916\n",
      "Generating VG image for PPG signal 873/916\n",
      "Generating VG image for PPG signal 874/916\n",
      "Generating VG image for PPG signal 875/916\n",
      "Generating VG image for PPG signal 876/916\n",
      "Generating VG image for PPG signal 877/916\n",
      "Generating VG image for PPG signal 878/916\n",
      "Generating VG image for PPG signal 879/916\n",
      "Generating VG image for PPG signal 880/916\n",
      "Generating VG image for PPG signal 881/916\n",
      "Generating VG image for PPG signal 882/916\n",
      "Generating VG image for PPG signal 883/916\n",
      "Generating VG image for PPG signal 884/916\n",
      "Generating VG image for PPG signal 885/916\n",
      "Generating VG image for PPG signal 886/916\n",
      "Generating VG image for PPG signal 887/916\n",
      "Generating VG image for PPG signal 888/916\n",
      "Generating VG image for PPG signal 889/916\n",
      "Generating VG image for PPG signal 890/916\n",
      "Generating VG image for PPG signal 891/916\n",
      "Generating VG image for PPG signal 892/916\n",
      "Generating VG image for PPG signal 893/916\n",
      "Generating VG image for PPG signal 894/916\n",
      "Generating VG image for PPG signal 895/916\n",
      "Generating VG image for PPG signal 896/916\n",
      "Generating VG image for PPG signal 897/916\n",
      "Generating VG image for PPG signal 898/916\n",
      "Generating VG image for PPG signal 899/916\n",
      "Generating VG image for PPG signal 900/916\n",
      "Generating VG image for PPG signal 901/916\n",
      "Generating VG image for PPG signal 902/916\n",
      "Generating VG image for PPG signal 903/916\n",
      "Generating VG image for PPG signal 904/916\n",
      "Generating VG image for PPG signal 905/916\n",
      "Generating VG image for PPG signal 906/916\n",
      "Generating VG image for PPG signal 907/916\n",
      "Generating VG image for PPG signal 908/916\n",
      "Generating VG image for PPG signal 909/916\n",
      "Generating VG image for PPG signal 910/916\n",
      "Generating VG image for PPG signal 911/916\n",
      "Generating VG image for PPG signal 912/916\n",
      "Generating VG image for PPG signal 913/916\n",
      "Generating VG image for PPG signal 914/916\n",
      "Generating VG image for PPG signal 915/916\n",
      "Generating VG image for PPG signal 916/916\n",
      "Batch 1 processing complete.\n",
      "Processing Batch 2...\n",
      "Generating VG image for PPG signal 1/492\n",
      "Generating VG image for PPG signal 2/492\n",
      "Generating VG image for PPG signal 3/492\n",
      "Generating VG image for PPG signal 4/492\n",
      "Generating VG image for PPG signal 5/492\n",
      "Generating VG image for PPG signal 6/492\n",
      "Generating VG image for PPG signal 7/492\n",
      "Generating VG image for PPG signal 8/492\n",
      "Generating VG image for PPG signal 9/492\n",
      "Generating VG image for PPG signal 10/492\n",
      "Generating VG image for PPG signal 11/492\n",
      "Generating VG image for PPG signal 12/492\n",
      "Generating VG image for PPG signal 13/492\n",
      "Generating VG image for PPG signal 14/492\n",
      "Generating VG image for PPG signal 15/492\n",
      "Generating VG image for PPG signal 16/492\n",
      "Generating VG image for PPG signal 17/492\n",
      "Generating VG image for PPG signal 18/492\n",
      "Generating VG image for PPG signal 19/492\n",
      "Generating VG image for PPG signal 20/492\n",
      "Generating VG image for PPG signal 21/492\n",
      "Generating VG image for PPG signal 22/492\n",
      "Generating VG image for PPG signal 23/492\n",
      "Generating VG image for PPG signal 24/492\n",
      "Generating VG image for PPG signal 25/492\n",
      "Generating VG image for PPG signal 26/492\n",
      "Generating VG image for PPG signal 27/492\n",
      "Generating VG image for PPG signal 28/492\n",
      "Generating VG image for PPG signal 29/492\n",
      "Generating VG image for PPG signal 30/492\n",
      "Generating VG image for PPG signal 31/492\n",
      "Generating VG image for PPG signal 32/492\n",
      "Generating VG image for PPG signal 33/492\n",
      "Generating VG image for PPG signal 34/492\n",
      "Generating VG image for PPG signal 35/492\n",
      "Generating VG image for PPG signal 36/492\n",
      "Generating VG image for PPG signal 37/492\n",
      "Generating VG image for PPG signal 38/492\n",
      "Generating VG image for PPG signal 39/492\n",
      "Generating VG image for PPG signal 40/492\n",
      "Generating VG image for PPG signal 41/492\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 42/492\n",
      "Generating VG image for PPG signal 43/492\n",
      "Generating VG image for PPG signal 44/492\n",
      "Generating VG image for PPG signal 45/492\n",
      "Generating VG image for PPG signal 46/492\n",
      "Generating VG image for PPG signal 47/492\n",
      "Generating VG image for PPG signal 48/492\n",
      "Generating VG image for PPG signal 49/492\n",
      "Generating VG image for PPG signal 50/492\n",
      "Generating VG image for PPG signal 51/492\n",
      "Generating VG image for PPG signal 52/492\n",
      "Generating VG image for PPG signal 53/492\n",
      "Generating VG image for PPG signal 54/492\n",
      "Generating VG image for PPG signal 55/492\n",
      "Generating VG image for PPG signal 56/492\n",
      "Generating VG image for PPG signal 57/492\n",
      "Generating VG image for PPG signal 58/492\n",
      "Generating VG image for PPG signal 59/492\n",
      "Generating VG image for PPG signal 60/492\n",
      "Generating VG image for PPG signal 61/492\n",
      "Generating VG image for PPG signal 62/492\n",
      "Generating VG image for PPG signal 63/492\n",
      "Generating VG image for PPG signal 64/492\n",
      "Generating VG image for PPG signal 65/492\n",
      "Generating VG image for PPG signal 66/492\n",
      "Generating VG image for PPG signal 67/492\n",
      "Generating VG image for PPG signal 68/492\n",
      "Generating VG image for PPG signal 69/492\n",
      "Generating VG image for PPG signal 70/492\n",
      "Generating VG image for PPG signal 71/492\n",
      "Generating VG image for PPG signal 72/492\n",
      "Generating VG image for PPG signal 73/492\n",
      "Generating VG image for PPG signal 74/492\n",
      "Generating VG image for PPG signal 75/492\n",
      "Generating VG image for PPG signal 76/492\n",
      "Generating VG image for PPG signal 77/492\n",
      "Generating VG image for PPG signal 78/492\n",
      "Generating VG image for PPG signal 79/492\n",
      "Generating VG image for PPG signal 80/492\n",
      "Generating VG image for PPG signal 81/492\n",
      "Generating VG image for PPG signal 82/492\n",
      "Generating VG image for PPG signal 83/492\n",
      "Generating VG image for PPG signal 84/492\n",
      "Generating VG image for PPG signal 85/492\n",
      "Generating VG image for PPG signal 86/492\n",
      "Generating VG image for PPG signal 87/492\n",
      "Generating VG image for PPG signal 88/492\n",
      "Generating VG image for PPG signal 89/492\n",
      "Generating VG image for PPG signal 90/492\n",
      "Generating VG image for PPG signal 91/492\n",
      "Generating VG image for PPG signal 92/492\n",
      "Generating VG image for PPG signal 93/492\n",
      "Generating VG image for PPG signal 94/492\n",
      "Generating VG image for PPG signal 95/492\n",
      "Generating VG image for PPG signal 96/492\n",
      "Generating VG image for PPG signal 97/492\n",
      "Generating VG image for PPG signal 98/492\n",
      "Generating VG image for PPG signal 99/492\n",
      "Generating VG image for PPG signal 100/492\n",
      "Generating VG image for PPG signal 101/492\n",
      "Generating VG image for PPG signal 102/492\n",
      "Generating VG image for PPG signal 103/492\n",
      "Generating VG image for PPG signal 104/492\n",
      "Generating VG image for PPG signal 105/492\n",
      "Generating VG image for PPG signal 106/492\n",
      "Generating VG image for PPG signal 107/492\n",
      "Generating VG image for PPG signal 108/492\n",
      "Generating VG image for PPG signal 109/492\n",
      "Generating VG image for PPG signal 110/492\n",
      "Generating VG image for PPG signal 111/492\n",
      "Generating VG image for PPG signal 112/492\n",
      "Generating VG image for PPG signal 113/492\n",
      "Generating VG image for PPG signal 114/492\n",
      "Generating VG image for PPG signal 115/492\n",
      "Generating VG image for PPG signal 116/492\n",
      "Generating VG image for PPG signal 117/492\n",
      "Generating VG image for PPG signal 118/492\n",
      "Generating VG image for PPG signal 119/492\n",
      "Generating VG image for PPG signal 120/492\n",
      "Generating VG image for PPG signal 121/492\n",
      "Generating VG image for PPG signal 122/492\n",
      "Generating VG image for PPG signal 123/492\n",
      "Generating VG image for PPG signal 124/492\n",
      "Generating VG image for PPG signal 125/492\n",
      "Generating VG image for PPG signal 126/492\n",
      "Generating VG image for PPG signal 127/492\n",
      "Generating VG image for PPG signal 128/492\n",
      "Generating VG image for PPG signal 129/492\n",
      "Generating VG image for PPG signal 130/492\n",
      "Generating VG image for PPG signal 131/492\n",
      "Generating VG image for PPG signal 132/492\n",
      "Generating VG image for PPG signal 133/492\n",
      "Generating VG image for PPG signal 134/492\n",
      "Generating VG image for PPG signal 135/492\n",
      "Generating VG image for PPG signal 136/492\n",
      "Generating VG image for PPG signal 137/492\n",
      "Generating VG image for PPG signal 138/492\n",
      "Generating VG image for PPG signal 139/492\n",
      "Generating VG image for PPG signal 140/492\n",
      "Generating VG image for PPG signal 141/492\n",
      "Generating VG image for PPG signal 142/492\n",
      "Generating VG image for PPG signal 143/492\n",
      "Generating VG image for PPG signal 144/492\n",
      "Generating VG image for PPG signal 145/492\n",
      "Generating VG image for PPG signal 146/492\n",
      "Generating VG image for PPG signal 147/492\n",
      "Generating VG image for PPG signal 148/492\n",
      "Generating VG image for PPG signal 149/492\n",
      "Generating VG image for PPG signal 150/492\n",
      "Generating VG image for PPG signal 151/492\n",
      "Generating VG image for PPG signal 152/492\n",
      "Generating VG image for PPG signal 153/492\n",
      "Generating VG image for PPG signal 154/492\n",
      "Generating VG image for PPG signal 155/492\n",
      "Generating VG image for PPG signal 156/492\n",
      "Generating VG image for PPG signal 157/492\n",
      "Generating VG image for PPG signal 158/492\n",
      "Generating VG image for PPG signal 159/492\n",
      "Generating VG image for PPG signal 160/492\n",
      "Generating VG image for PPG signal 161/492\n",
      "Generating VG image for PPG signal 162/492\n",
      "Generating VG image for PPG signal 163/492\n",
      "Generating VG image for PPG signal 164/492\n",
      "Generating VG image for PPG signal 165/492\n",
      "Generating VG image for PPG signal 166/492\n",
      "Generating VG image for PPG signal 167/492\n",
      "Generating VG image for PPG signal 168/492\n",
      "Generating VG image for PPG signal 169/492\n",
      "Generating VG image for PPG signal 170/492\n",
      "Generating VG image for PPG signal 171/492\n",
      "Generating VG image for PPG signal 172/492\n",
      "Generating VG image for PPG signal 173/492\n",
      "Generating VG image for PPG signal 174/492\n",
      "Generating VG image for PPG signal 175/492\n",
      "Generating VG image for PPG signal 176/492\n",
      "Generating VG image for PPG signal 177/492\n",
      "Generating VG image for PPG signal 178/492\n",
      "Generating VG image for PPG signal 179/492\n",
      "Generating VG image for PPG signal 180/492\n",
      "Generating VG image for PPG signal 181/492\n",
      "Generating VG image for PPG signal 182/492\n",
      "Generating VG image for PPG signal 183/492\n",
      "Generating VG image for PPG signal 184/492\n",
      "Generating VG image for PPG signal 185/492\n",
      "Generating VG image for PPG signal 186/492\n",
      "Generating VG image for PPG signal 187/492\n",
      "Generating VG image for PPG signal 188/492\n",
      "Generating VG image for PPG signal 189/492\n",
      "Generating VG image for PPG signal 190/492\n",
      "Generating VG image for PPG signal 191/492\n",
      "Generating VG image for PPG signal 192/492\n",
      "Generating VG image for PPG signal 193/492\n",
      "Generating VG image for PPG signal 194/492\n",
      "Generating VG image for PPG signal 195/492\n",
      "Generating VG image for PPG signal 196/492\n",
      "Generating VG image for PPG signal 197/492\n",
      "Generating VG image for PPG signal 198/492\n",
      "Generating VG image for PPG signal 199/492\n",
      "Generating VG image for PPG signal 200/492\n",
      "Generating VG image for PPG signal 201/492\n",
      "Generating VG image for PPG signal 202/492\n",
      "Generating VG image for PPG signal 203/492\n",
      "Generating VG image for PPG signal 204/492\n",
      "Generating VG image for PPG signal 205/492\n",
      "Generating VG image for PPG signal 206/492\n",
      "Generating VG image for PPG signal 207/492\n",
      "Generating VG image for PPG signal 208/492\n",
      "Generating VG image for PPG signal 209/492\n",
      "Generating VG image for PPG signal 210/492\n",
      "Generating VG image for PPG signal 211/492\n",
      "Generating VG image for PPG signal 212/492\n",
      "Generating VG image for PPG signal 213/492\n",
      "Generating VG image for PPG signal 214/492\n",
      "Generating VG image for PPG signal 215/492\n",
      "Generating VG image for PPG signal 216/492\n",
      "Generating VG image for PPG signal 217/492\n",
      "Generating VG image for PPG signal 218/492\n",
      "Generating VG image for PPG signal 219/492\n",
      "Generating VG image for PPG signal 220/492\n",
      "Generating VG image for PPG signal 221/492\n",
      "Generating VG image for PPG signal 222/492\n",
      "Generating VG image for PPG signal 223/492\n",
      "Generating VG image for PPG signal 224/492\n",
      "Generating VG image for PPG signal 225/492\n",
      "Generating VG image for PPG signal 226/492\n",
      "Generating VG image for PPG signal 227/492\n",
      "Generating VG image for PPG signal 228/492\n",
      "Generating VG image for PPG signal 229/492\n",
      "Generating VG image for PPG signal 230/492\n",
      "Generating VG image for PPG signal 231/492\n",
      "Generating VG image for PPG signal 232/492\n",
      "Generating VG image for PPG signal 233/492\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 234/492\n",
      "Generating VG image for PPG signal 235/492\n",
      "Generating VG image for PPG signal 236/492\n",
      "Generating VG image for PPG signal 237/492\n",
      "Generating VG image for PPG signal 238/492\n",
      "Generating VG image for PPG signal 239/492\n",
      "Generating VG image for PPG signal 240/492\n",
      "Generating VG image for PPG signal 241/492\n",
      "Generating VG image for PPG signal 242/492\n",
      "Generating VG image for PPG signal 243/492\n",
      "Generating VG image for PPG signal 244/492\n",
      "Generating VG image for PPG signal 245/492\n",
      "Generating VG image for PPG signal 246/492\n",
      "Generating VG image for PPG signal 247/492\n",
      "Generating VG image for PPG signal 248/492\n",
      "Generating VG image for PPG signal 249/492\n",
      "Generating VG image for PPG signal 250/492\n",
      "Generating VG image for PPG signal 251/492\n",
      "Generating VG image for PPG signal 252/492\n",
      "Generating VG image for PPG signal 253/492\n",
      "Generating VG image for PPG signal 254/492\n",
      "Generating VG image for PPG signal 255/492\n",
      "Generating VG image for PPG signal 256/492\n",
      "Generating VG image for PPG signal 257/492\n",
      "Generating VG image for PPG signal 258/492\n",
      "Generating VG image for PPG signal 259/492\n",
      "Generating VG image for PPG signal 260/492\n",
      "Generating VG image for PPG signal 261/492\n",
      "Generating VG image for PPG signal 262/492\n",
      "Generating VG image for PPG signal 263/492\n",
      "Generating VG image for PPG signal 264/492\n",
      "Generating VG image for PPG signal 265/492\n",
      "Generating VG image for PPG signal 266/492\n",
      "Generating VG image for PPG signal 267/492\n",
      "Generating VG image for PPG signal 268/492\n",
      "Generating VG image for PPG signal 269/492\n",
      "Generating VG image for PPG signal 270/492\n",
      "Generating VG image for PPG signal 271/492\n",
      "Generating VG image for PPG signal 272/492\n",
      "Generating VG image for PPG signal 273/492\n",
      "Generating VG image for PPG signal 274/492\n",
      "Generating VG image for PPG signal 275/492\n",
      "Generating VG image for PPG signal 276/492\n",
      "Generating VG image for PPG signal 277/492\n",
      "Generating VG image for PPG signal 278/492\n",
      "Generating VG image for PPG signal 279/492\n",
      "Generating VG image for PPG signal 280/492\n",
      "Generating VG image for PPG signal 281/492\n",
      "Generating VG image for PPG signal 282/492\n",
      "Generating VG image for PPG signal 283/492\n",
      "Generating VG image for PPG signal 284/492\n",
      "Generating VG image for PPG signal 285/492\n",
      "Generating VG image for PPG signal 286/492\n",
      "Generating VG image for PPG signal 287/492\n",
      "Generating VG image for PPG signal 288/492\n",
      "Generating VG image for PPG signal 289/492\n",
      "Generating VG image for PPG signal 290/492\n",
      "Generating VG image for PPG signal 291/492\n",
      "Generating VG image for PPG signal 292/492\n",
      "Generating VG image for PPG signal 293/492\n",
      "Generating VG image for PPG signal 294/492\n",
      "Generating VG image for PPG signal 295/492\n",
      "Generating VG image for PPG signal 296/492\n",
      "Generating VG image for PPG signal 297/492\n",
      "Generating VG image for PPG signal 298/492\n",
      "Generating VG image for PPG signal 299/492\n",
      "Generating VG image for PPG signal 300/492\n",
      "Generating VG image for PPG signal 301/492\n",
      "Generating VG image for PPG signal 302/492\n",
      "Generating VG image for PPG signal 303/492\n",
      "Generating VG image for PPG signal 304/492\n",
      "Generating VG image for PPG signal 305/492\n",
      "Generating VG image for PPG signal 306/492\n",
      "Generating VG image for PPG signal 307/492\n",
      "Generating VG image for PPG signal 308/492\n",
      "Generating VG image for PPG signal 309/492\n",
      "Generating VG image for PPG signal 310/492\n",
      "Generating VG image for PPG signal 311/492\n",
      "Generating VG image for PPG signal 312/492\n",
      "Generating VG image for PPG signal 313/492\n",
      "Generating VG image for PPG signal 314/492\n",
      "Generating VG image for PPG signal 315/492\n",
      "Generating VG image for PPG signal 316/492\n",
      "Generating VG image for PPG signal 317/492\n",
      "Generating VG image for PPG signal 318/492\n",
      "Generating VG image for PPG signal 319/492\n",
      "Generating VG image for PPG signal 320/492\n",
      "Generating VG image for PPG signal 321/492\n",
      "Generating VG image for PPG signal 322/492\n",
      "Generating VG image for PPG signal 323/492\n",
      "Generating VG image for PPG signal 324/492\n",
      "Generating VG image for PPG signal 325/492\n",
      "Generating VG image for PPG signal 326/492\n",
      "Generating VG image for PPG signal 327/492\n",
      "Generating VG image for PPG signal 328/492\n",
      "Generating VG image for PPG signal 329/492\n",
      "Generating VG image for PPG signal 330/492\n",
      "Generating VG image for PPG signal 331/492\n",
      "Generating VG image for PPG signal 332/492\n",
      "Generating VG image for PPG signal 333/492\n",
      "Generating VG image for PPG signal 334/492\n",
      "Generating VG image for PPG signal 335/492\n",
      "Generating VG image for PPG signal 336/492\n",
      "Generating VG image for PPG signal 337/492\n",
      "Generating VG image for PPG signal 338/492\n",
      "Generating VG image for PPG signal 339/492\n",
      "Generating VG image for PPG signal 340/492\n",
      "Generating VG image for PPG signal 341/492\n",
      "Generating VG image for PPG signal 342/492\n",
      "Generating VG image for PPG signal 343/492\n",
      "Generating VG image for PPG signal 344/492\n",
      "Generating VG image for PPG signal 345/492\n",
      "Generating VG image for PPG signal 346/492\n",
      "Generating VG image for PPG signal 347/492\n",
      "Generating VG image for PPG signal 348/492\n",
      "Generating VG image for PPG signal 349/492\n",
      "Generating VG image for PPG signal 350/492\n",
      "Generating VG image for PPG signal 351/492\n",
      "Generating VG image for PPG signal 352/492\n",
      "Generating VG image for PPG signal 353/492\n",
      "Generating VG image for PPG signal 354/492\n",
      "Generating VG image for PPG signal 355/492\n",
      "Generating VG image for PPG signal 356/492\n",
      "Generating VG image for PPG signal 357/492\n",
      "Generating VG image for PPG signal 358/492\n",
      "Generating VG image for PPG signal 359/492\n",
      "Generating VG image for PPG signal 360/492\n",
      "Generating VG image for PPG signal 361/492\n",
      "Generating VG image for PPG signal 362/492\n",
      "Generating VG image for PPG signal 363/492\n",
      "Generating VG image for PPG signal 364/492\n",
      "Generating VG image for PPG signal 365/492\n",
      "Generating VG image for PPG signal 366/492\n",
      "Generating VG image for PPG signal 367/492\n",
      "Generating VG image for PPG signal 368/492\n",
      "Generating VG image for PPG signal 369/492\n",
      "Generating VG image for PPG signal 370/492\n",
      "Generating VG image for PPG signal 371/492\n",
      "Generating VG image for PPG signal 372/492\n",
      "Generating VG image for PPG signal 373/492\n",
      "Generating VG image for PPG signal 374/492\n",
      "Generating VG image for PPG signal 375/492\n",
      "Generating VG image for PPG signal 376/492\n",
      "Generating VG image for PPG signal 377/492\n",
      "Generating VG image for PPG signal 378/492\n",
      "Generating VG image for PPG signal 379/492\n",
      "Generating VG image for PPG signal 380/492\n",
      "Generating VG image for PPG signal 381/492\n",
      "Generating VG image for PPG signal 382/492\n",
      "Generating VG image for PPG signal 383/492\n",
      "Generating VG image for PPG signal 384/492\n",
      "Generating VG image for PPG signal 385/492\n",
      "Generating VG image for PPG signal 386/492\n",
      "Generating VG image for PPG signal 387/492\n",
      "Generating VG image for PPG signal 388/492\n",
      "Generating VG image for PPG signal 389/492\n",
      "Generating VG image for PPG signal 390/492\n",
      "Generating VG image for PPG signal 391/492\n",
      "Generating VG image for PPG signal 392/492\n",
      "Generating VG image for PPG signal 393/492\n",
      "Generating VG image for PPG signal 394/492\n",
      "Generating VG image for PPG signal 395/492\n",
      "Generating VG image for PPG signal 396/492\n",
      "Generating VG image for PPG signal 397/492\n",
      "Generating VG image for PPG signal 398/492\n",
      "Generating VG image for PPG signal 399/492\n",
      "Generating VG image for PPG signal 400/492\n",
      "Generating VG image for PPG signal 401/492\n",
      "Generating VG image for PPG signal 402/492\n",
      "Generating VG image for PPG signal 403/492\n",
      "Generating VG image for PPG signal 404/492\n",
      "Generating VG image for PPG signal 405/492\n",
      "Generating VG image for PPG signal 406/492\n",
      "Generating VG image for PPG signal 407/492\n",
      "Generating VG image for PPG signal 408/492\n",
      "Generating VG image for PPG signal 409/492\n",
      "Generating VG image for PPG signal 410/492\n",
      "Generating VG image for PPG signal 411/492\n",
      "Generating VG image for PPG signal 412/492\n",
      "Generating VG image for PPG signal 413/492\n",
      "Generating VG image for PPG signal 414/492\n",
      "Generating VG image for PPG signal 415/492\n",
      "Generating VG image for PPG signal 416/492\n",
      "Generating VG image for PPG signal 417/492\n",
      "Generating VG image for PPG signal 418/492\n",
      "Generating VG image for PPG signal 419/492\n",
      "Generating VG image for PPG signal 420/492\n",
      "Generating VG image for PPG signal 421/492\n",
      "Generating VG image for PPG signal 422/492\n",
      "Generating VG image for PPG signal 423/492\n",
      "Generating VG image for PPG signal 424/492\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 425/492\n",
      "Generating VG image for PPG signal 426/492\n",
      "Generating VG image for PPG signal 427/492\n",
      "Generating VG image for PPG signal 428/492\n",
      "Generating VG image for PPG signal 429/492\n",
      "Generating VG image for PPG signal 430/492\n",
      "Generating VG image for PPG signal 431/492\n",
      "Generating VG image for PPG signal 432/492\n",
      "Generating VG image for PPG signal 433/492\n",
      "Generating VG image for PPG signal 434/492\n",
      "Generating VG image for PPG signal 435/492\n",
      "Generating VG image for PPG signal 436/492\n",
      "Generating VG image for PPG signal 437/492\n",
      "Generating VG image for PPG signal 438/492\n",
      "Generating VG image for PPG signal 439/492\n",
      "Generating VG image for PPG signal 440/492\n",
      "Generating VG image for PPG signal 441/492\n",
      "Generating VG image for PPG signal 442/492\n",
      "Generating VG image for PPG signal 443/492\n",
      "Generating VG image for PPG signal 444/492\n",
      "Generating VG image for PPG signal 445/492\n",
      "Generating VG image for PPG signal 446/492\n",
      "Generating VG image for PPG signal 447/492\n",
      "Generating VG image for PPG signal 448/492\n",
      "Generating VG image for PPG signal 449/492\n",
      "Generating VG image for PPG signal 450/492\n",
      "Generating VG image for PPG signal 451/492\n",
      "Generating VG image for PPG signal 452/492\n",
      "Generating VG image for PPG signal 453/492\n",
      "Generating VG image for PPG signal 454/492\n",
      "Generating VG image for PPG signal 455/492\n",
      "Generating VG image for PPG signal 456/492\n",
      "Generating VG image for PPG signal 457/492\n",
      "Generating VG image for PPG signal 458/492\n",
      "Generating VG image for PPG signal 459/492\n",
      "Generating VG image for PPG signal 460/492\n",
      "Generating VG image for PPG signal 461/492\n",
      "Generating VG image for PPG signal 462/492\n",
      "Generating VG image for PPG signal 463/492\n",
      "Generating VG image for PPG signal 464/492\n",
      "Generating VG image for PPG signal 465/492\n",
      "Generating VG image for PPG signal 466/492\n",
      "Generating VG image for PPG signal 467/492\n",
      "Generating VG image for PPG signal 468/492\n",
      "Generating VG image for PPG signal 469/492\n",
      "Generating VG image for PPG signal 470/492\n",
      "Generating VG image for PPG signal 471/492\n",
      "Generating VG image for PPG signal 472/492\n",
      "Generating VG image for PPG signal 473/492\n",
      "Generating VG image for PPG signal 474/492\n",
      "Generating VG image for PPG signal 475/492\n",
      "Generating VG image for PPG signal 476/492\n",
      "Generating VG image for PPG signal 477/492\n",
      "Generating VG image for PPG signal 478/492\n",
      "Generating VG image for PPG signal 479/492\n",
      "Generating VG image for PPG signal 480/492\n",
      "Generating VG image for PPG signal 481/492\n",
      "Generating VG image for PPG signal 482/492\n",
      "Generating VG image for PPG signal 483/492\n",
      "Generating VG image for PPG signal 484/492\n",
      "Generating VG image for PPG signal 485/492\n",
      "Generating VG image for PPG signal 486/492\n",
      "Generating VG image for PPG signal 487/492\n",
      "Generating VG image for PPG signal 488/492\n",
      "Generating VG image for PPG signal 489/492\n",
      "Generating VG image for PPG signal 490/492\n",
      "Generating VG image for PPG signal 491/492\n",
      "Generating VG image for PPG signal 492/492\n",
      "Batch 2 processing complete.\n",
      "Processing Batch 3...\n",
      "Generating VG image for PPG signal 1/763\n",
      "Generating VG image for PPG signal 2/763\n",
      "Generating VG image for PPG signal 3/763\n",
      "Generating VG image for PPG signal 4/763\n",
      "Generating VG image for PPG signal 5/763\n",
      "Generating VG image for PPG signal 6/763\n",
      "Generating VG image for PPG signal 7/763\n",
      "Generating VG image for PPG signal 8/763\n",
      "Generating VG image for PPG signal 9/763\n",
      "Generating VG image for PPG signal 10/763\n",
      "Generating VG image for PPG signal 11/763\n",
      "Generating VG image for PPG signal 12/763\n",
      "Generating VG image for PPG signal 13/763\n",
      "Generating VG image for PPG signal 14/763\n",
      "Generating VG image for PPG signal 15/763\n",
      "Generating VG image for PPG signal 16/763\n",
      "Generating VG image for PPG signal 17/763\n",
      "Generating VG image for PPG signal 18/763\n",
      "Generating VG image for PPG signal 19/763\n",
      "Generating VG image for PPG signal 20/763\n",
      "Generating VG image for PPG signal 21/763\n",
      "Generating VG image for PPG signal 22/763\n",
      "Generating VG image for PPG signal 23/763\n",
      "Generating VG image for PPG signal 24/763\n",
      "Generating VG image for PPG signal 25/763\n",
      "Generating VG image for PPG signal 26/763\n",
      "Generating VG image for PPG signal 27/763\n",
      "Generating VG image for PPG signal 28/763\n",
      "Generating VG image for PPG signal 29/763\n",
      "Generating VG image for PPG signal 30/763\n",
      "Generating VG image for PPG signal 31/763\n",
      "Generating VG image for PPG signal 32/763\n",
      "Generating VG image for PPG signal 33/763\n",
      "Generating VG image for PPG signal 34/763\n",
      "Generating VG image for PPG signal 35/763\n",
      "Generating VG image for PPG signal 36/763\n",
      "Generating VG image for PPG signal 37/763\n",
      "Generating VG image for PPG signal 38/763\n",
      "Generating VG image for PPG signal 39/763\n",
      "Generating VG image for PPG signal 40/763\n",
      "Generating VG image for PPG signal 41/763\n",
      "Generating VG image for PPG signal 42/763\n",
      "Generating VG image for PPG signal 43/763\n",
      "Generating VG image for PPG signal 44/763\n",
      "Generating VG image for PPG signal 45/763\n",
      "Generating VG image for PPG signal 46/763\n",
      "Generating VG image for PPG signal 47/763\n",
      "Generating VG image for PPG signal 48/763\n",
      "Generating VG image for PPG signal 49/763\n",
      "Generating VG image for PPG signal 50/763\n",
      "Generating VG image for PPG signal 51/763\n",
      "Generating VG image for PPG signal 52/763\n",
      "Generating VG image for PPG signal 53/763\n",
      "Generating VG image for PPG signal 54/763\n",
      "Generating VG image for PPG signal 55/763\n",
      "Generating VG image for PPG signal 56/763\n",
      "Generating VG image for PPG signal 57/763\n",
      "Generating VG image for PPG signal 58/763\n",
      "Generating VG image for PPG signal 59/763\n",
      "Generating VG image for PPG signal 60/763\n",
      "Generating VG image for PPG signal 61/763\n",
      "Generating VG image for PPG signal 62/763\n",
      "Generating VG image for PPG signal 63/763\n",
      "Generating VG image for PPG signal 64/763\n",
      "Generating VG image for PPG signal 65/763\n",
      "Generating VG image for PPG signal 66/763\n",
      "Generating VG image for PPG signal 67/763\n",
      "Generating VG image for PPG signal 68/763\n",
      "Generating VG image for PPG signal 69/763\n",
      "Generating VG image for PPG signal 70/763\n",
      "Generating VG image for PPG signal 71/763\n",
      "Generating VG image for PPG signal 72/763\n",
      "Generating VG image for PPG signal 73/763\n",
      "Generating VG image for PPG signal 74/763\n",
      "Generating VG image for PPG signal 75/763\n",
      "Generating VG image for PPG signal 76/763\n",
      "Generating VG image for PPG signal 77/763\n",
      "Generating VG image for PPG signal 78/763\n",
      "Generating VG image for PPG signal 79/763\n",
      "Generating VG image for PPG signal 80/763\n",
      "Generating VG image for PPG signal 81/763\n",
      "Generating VG image for PPG signal 82/763\n",
      "Generating VG image for PPG signal 83/763\n",
      "Generating VG image for PPG signal 84/763\n",
      "Generating VG image for PPG signal 85/763\n",
      "Generating VG image for PPG signal 86/763\n",
      "Generating VG image for PPG signal 87/763\n",
      "Generating VG image for PPG signal 88/763\n",
      "Generating VG image for PPG signal 89/763\n",
      "Generating VG image for PPG signal 90/763\n",
      "Generating VG image for PPG signal 91/763\n",
      "Generating VG image for PPG signal 92/763\n",
      "Generating VG image for PPG signal 93/763\n",
      "Generating VG image for PPG signal 94/763\n",
      "Generating VG image for PPG signal 95/763\n",
      "Generating VG image for PPG signal 96/763\n",
      "Generating VG image for PPG signal 97/763\n",
      "Generating VG image for PPG signal 98/763\n",
      "Generating VG image for PPG signal 99/763\n",
      "Generating VG image for PPG signal 100/763\n",
      "Generating VG image for PPG signal 101/763\n",
      "Generating VG image for PPG signal 102/763\n",
      "Generating VG image for PPG signal 103/763\n",
      "Generating VG image for PPG signal 104/763\n",
      "Generating VG image for PPG signal 105/763\n",
      "Generating VG image for PPG signal 106/763\n",
      "Generating VG image for PPG signal 107/763\n",
      "Generating VG image for PPG signal 108/763\n",
      "Generating VG image for PPG signal 109/763\n",
      "Generating VG image for PPG signal 110/763\n",
      "Generating VG image for PPG signal 111/763\n",
      "Generating VG image for PPG signal 112/763\n",
      "Generating VG image for PPG signal 113/763\n",
      "Generating VG image for PPG signal 114/763\n",
      "Generating VG image for PPG signal 115/763\n",
      "Generating VG image for PPG signal 116/763\n",
      "Generating VG image for PPG signal 117/763\n",
      "Generating VG image for PPG signal 118/763\n",
      "Generating VG image for PPG signal 119/763\n",
      "Generating VG image for PPG signal 120/763\n",
      "Generating VG image for PPG signal 121/763\n",
      "Generating VG image for PPG signal 122/763\n",
      "Generating VG image for PPG signal 123/763\n",
      "Generating VG image for PPG signal 124/763\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 125/763\n",
      "Generating VG image for PPG signal 126/763\n",
      "Generating VG image for PPG signal 127/763\n",
      "Generating VG image for PPG signal 128/763\n",
      "Generating VG image for PPG signal 129/763\n",
      "Generating VG image for PPG signal 130/763\n",
      "Generating VG image for PPG signal 131/763\n",
      "Generating VG image for PPG signal 132/763\n",
      "Generating VG image for PPG signal 133/763\n",
      "Generating VG image for PPG signal 134/763\n",
      "Generating VG image for PPG signal 135/763\n",
      "Generating VG image for PPG signal 136/763\n",
      "Generating VG image for PPG signal 137/763\n",
      "Generating VG image for PPG signal 138/763\n",
      "Generating VG image for PPG signal 139/763\n",
      "Generating VG image for PPG signal 140/763\n",
      "Generating VG image for PPG signal 141/763\n",
      "Generating VG image for PPG signal 142/763\n",
      "Generating VG image for PPG signal 143/763\n",
      "Generating VG image for PPG signal 144/763\n",
      "Generating VG image for PPG signal 145/763\n",
      "Generating VG image for PPG signal 146/763\n",
      "Generating VG image for PPG signal 147/763\n",
      "Generating VG image for PPG signal 148/763\n",
      "Generating VG image for PPG signal 149/763\n",
      "Generating VG image for PPG signal 150/763\n",
      "Generating VG image for PPG signal 151/763\n",
      "Generating VG image for PPG signal 152/763\n",
      "Generating VG image for PPG signal 153/763\n",
      "Generating VG image for PPG signal 154/763\n",
      "Generating VG image for PPG signal 155/763\n",
      "Generating VG image for PPG signal 156/763\n",
      "Generating VG image for PPG signal 157/763\n",
      "Generating VG image for PPG signal 158/763\n",
      "Generating VG image for PPG signal 159/763\n",
      "Generating VG image for PPG signal 160/763\n",
      "Generating VG image for PPG signal 161/763\n",
      "Generating VG image for PPG signal 162/763\n",
      "Generating VG image for PPG signal 163/763\n",
      "Generating VG image for PPG signal 164/763\n",
      "Generating VG image for PPG signal 165/763\n",
      "Generating VG image for PPG signal 166/763\n",
      "Generating VG image for PPG signal 167/763\n",
      "Generating VG image for PPG signal 168/763\n",
      "Generating VG image for PPG signal 169/763\n",
      "Generating VG image for PPG signal 170/763\n",
      "Generating VG image for PPG signal 171/763\n",
      "Generating VG image for PPG signal 172/763\n",
      "Generating VG image for PPG signal 173/763\n",
      "Generating VG image for PPG signal 174/763\n",
      "Generating VG image for PPG signal 175/763\n",
      "Generating VG image for PPG signal 176/763\n",
      "Generating VG image for PPG signal 177/763\n",
      "Generating VG image for PPG signal 178/763\n",
      "Generating VG image for PPG signal 179/763\n",
      "Generating VG image for PPG signal 180/763\n",
      "Generating VG image for PPG signal 181/763\n",
      "Generating VG image for PPG signal 182/763\n",
      "Generating VG image for PPG signal 183/763\n",
      "Generating VG image for PPG signal 184/763\n",
      "Generating VG image for PPG signal 185/763\n",
      "Generating VG image for PPG signal 186/763\n",
      "Generating VG image for PPG signal 187/763\n",
      "Generating VG image for PPG signal 188/763\n",
      "Generating VG image for PPG signal 189/763\n",
      "Generating VG image for PPG signal 190/763\n",
      "Generating VG image for PPG signal 191/763\n",
      "Generating VG image for PPG signal 192/763\n",
      "Generating VG image for PPG signal 193/763\n",
      "Generating VG image for PPG signal 194/763\n",
      "Generating VG image for PPG signal 195/763\n",
      "Generating VG image for PPG signal 196/763\n",
      "Generating VG image for PPG signal 197/763\n",
      "Generating VG image for PPG signal 198/763\n",
      "Generating VG image for PPG signal 199/763\n",
      "Generating VG image for PPG signal 200/763\n",
      "Generating VG image for PPG signal 201/763\n",
      "Generating VG image for PPG signal 202/763\n",
      "Generating VG image for PPG signal 203/763\n",
      "Generating VG image for PPG signal 204/763\n",
      "Generating VG image for PPG signal 205/763\n",
      "Generating VG image for PPG signal 206/763\n",
      "Generating VG image for PPG signal 207/763\n",
      "Generating VG image for PPG signal 208/763\n",
      "Generating VG image for PPG signal 209/763\n",
      "Generating VG image for PPG signal 210/763\n",
      "Generating VG image for PPG signal 211/763\n",
      "Generating VG image for PPG signal 212/763\n",
      "Generating VG image for PPG signal 213/763\n",
      "Generating VG image for PPG signal 214/763\n",
      "Generating VG image for PPG signal 215/763\n",
      "Generating VG image for PPG signal 216/763\n",
      "Generating VG image for PPG signal 217/763\n",
      "Generating VG image for PPG signal 218/763\n",
      "Generating VG image for PPG signal 219/763\n",
      "Generating VG image for PPG signal 220/763\n",
      "Generating VG image for PPG signal 221/763\n",
      "Generating VG image for PPG signal 222/763\n",
      "Generating VG image for PPG signal 223/763\n",
      "Generating VG image for PPG signal 224/763\n",
      "Generating VG image for PPG signal 225/763\n",
      "Generating VG image for PPG signal 226/763\n",
      "Generating VG image for PPG signal 227/763\n",
      "Generating VG image for PPG signal 228/763\n",
      "Generating VG image for PPG signal 229/763\n",
      "Generating VG image for PPG signal 230/763\n",
      "Generating VG image for PPG signal 231/763\n",
      "Generating VG image for PPG signal 232/763\n",
      "Generating VG image for PPG signal 233/763\n",
      "Generating VG image for PPG signal 234/763\n",
      "Generating VG image for PPG signal 235/763\n",
      "Generating VG image for PPG signal 236/763\n",
      "Generating VG image for PPG signal 237/763\n",
      "Generating VG image for PPG signal 238/763\n",
      "Generating VG image for PPG signal 239/763\n",
      "Generating VG image for PPG signal 240/763\n",
      "Generating VG image for PPG signal 241/763\n",
      "Generating VG image for PPG signal 242/763\n",
      "Generating VG image for PPG signal 243/763\n",
      "Generating VG image for PPG signal 244/763\n",
      "Generating VG image for PPG signal 245/763\n",
      "Generating VG image for PPG signal 246/763\n",
      "Generating VG image for PPG signal 247/763\n",
      "Generating VG image for PPG signal 248/763\n",
      "Generating VG image for PPG signal 249/763\n",
      "Generating VG image for PPG signal 250/763\n",
      "Generating VG image for PPG signal 251/763\n",
      "Generating VG image for PPG signal 252/763\n",
      "Generating VG image for PPG signal 253/763\n",
      "Generating VG image for PPG signal 254/763\n",
      "Generating VG image for PPG signal 255/763\n",
      "Generating VG image for PPG signal 256/763\n",
      "Generating VG image for PPG signal 257/763\n",
      "Generating VG image for PPG signal 258/763\n",
      "Generating VG image for PPG signal 259/763\n",
      "Generating VG image for PPG signal 260/763\n",
      "Generating VG image for PPG signal 261/763\n",
      "Generating VG image for PPG signal 262/763\n",
      "Generating VG image for PPG signal 263/763\n",
      "Generating VG image for PPG signal 264/763\n",
      "Generating VG image for PPG signal 265/763\n",
      "Generating VG image for PPG signal 266/763\n",
      "Generating VG image for PPG signal 267/763\n",
      "Generating VG image for PPG signal 268/763\n",
      "Generating VG image for PPG signal 269/763\n",
      "Generating VG image for PPG signal 270/763\n",
      "Generating VG image for PPG signal 271/763\n",
      "Generating VG image for PPG signal 272/763\n",
      "Generating VG image for PPG signal 273/763\n",
      "Generating VG image for PPG signal 274/763\n",
      "Generating VG image for PPG signal 275/763\n",
      "Generating VG image for PPG signal 276/763\n",
      "Generating VG image for PPG signal 277/763\n",
      "Generating VG image for PPG signal 278/763\n",
      "Generating VG image for PPG signal 279/763\n",
      "Generating VG image for PPG signal 280/763\n",
      "Generating VG image for PPG signal 281/763\n",
      "Generating VG image for PPG signal 282/763\n",
      "Generating VG image for PPG signal 283/763\n",
      "Generating VG image for PPG signal 284/763\n",
      "Generating VG image for PPG signal 285/763\n",
      "Generating VG image for PPG signal 286/763\n",
      "Generating VG image for PPG signal 287/763\n",
      "Generating VG image for PPG signal 288/763\n",
      "Generating VG image for PPG signal 289/763\n",
      "Generating VG image for PPG signal 290/763\n",
      "Generating VG image for PPG signal 291/763\n",
      "Generating VG image for PPG signal 292/763\n",
      "Generating VG image for PPG signal 293/763\n",
      "Generating VG image for PPG signal 294/763\n",
      "Generating VG image for PPG signal 295/763\n",
      "Generating VG image for PPG signal 296/763\n",
      "Generating VG image for PPG signal 297/763\n",
      "Generating VG image for PPG signal 298/763\n",
      "Generating VG image for PPG signal 299/763\n",
      "Generating VG image for PPG signal 300/763\n",
      "Generating VG image for PPG signal 301/763\n",
      "Generating VG image for PPG signal 302/763\n",
      "Generating VG image for PPG signal 303/763\n",
      "Generating VG image for PPG signal 304/763\n",
      "Generating VG image for PPG signal 305/763\n",
      "Generating VG image for PPG signal 306/763\n",
      "Generating VG image for PPG signal 307/763\n",
      "Generating VG image for PPG signal 308/763\n",
      "Generating VG image for PPG signal 309/763\n",
      "Generating VG image for PPG signal 310/763\n",
      "Generating VG image for PPG signal 311/763\n",
      "Generating VG image for PPG signal 312/763\n",
      "Generating VG image for PPG signal 313/763\n",
      "Generating VG image for PPG signal 314/763\n",
      "Generating VG image for PPG signal 315/763\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 316/763\n",
      "Generating VG image for PPG signal 317/763\n",
      "Generating VG image for PPG signal 318/763\n",
      "Generating VG image for PPG signal 319/763\n",
      "Generating VG image for PPG signal 320/763\n",
      "Generating VG image for PPG signal 321/763\n",
      "Generating VG image for PPG signal 322/763\n",
      "Generating VG image for PPG signal 323/763\n",
      "Generating VG image for PPG signal 324/763\n",
      "Generating VG image for PPG signal 325/763\n",
      "Generating VG image for PPG signal 326/763\n",
      "Generating VG image for PPG signal 327/763\n",
      "Generating VG image for PPG signal 328/763\n",
      "Generating VG image for PPG signal 329/763\n",
      "Generating VG image for PPG signal 330/763\n",
      "Generating VG image for PPG signal 331/763\n",
      "Generating VG image for PPG signal 332/763\n",
      "Generating VG image for PPG signal 333/763\n",
      "Generating VG image for PPG signal 334/763\n",
      "Generating VG image for PPG signal 335/763\n",
      "Generating VG image for PPG signal 336/763\n",
      "Generating VG image for PPG signal 337/763\n",
      "Generating VG image for PPG signal 338/763\n",
      "Generating VG image for PPG signal 339/763\n",
      "Generating VG image for PPG signal 340/763\n",
      "Generating VG image for PPG signal 341/763\n",
      "Generating VG image for PPG signal 342/763\n",
      "Generating VG image for PPG signal 343/763\n",
      "Generating VG image for PPG signal 344/763\n",
      "Generating VG image for PPG signal 345/763\n",
      "Generating VG image for PPG signal 346/763\n",
      "Generating VG image for PPG signal 347/763\n",
      "Generating VG image for PPG signal 348/763\n",
      "Generating VG image for PPG signal 349/763\n",
      "Generating VG image for PPG signal 350/763\n",
      "Generating VG image for PPG signal 351/763\n",
      "Generating VG image for PPG signal 352/763\n",
      "Generating VG image for PPG signal 353/763\n",
      "Generating VG image for PPG signal 354/763\n",
      "Generating VG image for PPG signal 355/763\n",
      "Generating VG image for PPG signal 356/763\n",
      "Generating VG image for PPG signal 357/763\n",
      "Generating VG image for PPG signal 358/763\n",
      "Generating VG image for PPG signal 359/763\n",
      "Generating VG image for PPG signal 360/763\n",
      "Generating VG image for PPG signal 361/763\n",
      "Generating VG image for PPG signal 362/763\n",
      "Generating VG image for PPG signal 363/763\n",
      "Generating VG image for PPG signal 364/763\n",
      "Generating VG image for PPG signal 365/763\n",
      "Generating VG image for PPG signal 366/763\n",
      "Generating VG image for PPG signal 367/763\n",
      "Generating VG image for PPG signal 368/763\n",
      "Generating VG image for PPG signal 369/763\n",
      "Generating VG image for PPG signal 370/763\n",
      "Generating VG image for PPG signal 371/763\n",
      "Generating VG image for PPG signal 372/763\n",
      "Generating VG image for PPG signal 373/763\n",
      "Generating VG image for PPG signal 374/763\n",
      "Generating VG image for PPG signal 375/763\n",
      "Generating VG image for PPG signal 376/763\n",
      "Generating VG image for PPG signal 377/763\n",
      "Generating VG image for PPG signal 378/763\n",
      "Generating VG image for PPG signal 379/763\n",
      "Generating VG image for PPG signal 380/763\n",
      "Generating VG image for PPG signal 381/763\n",
      "Generating VG image for PPG signal 382/763\n",
      "Generating VG image for PPG signal 383/763\n",
      "Generating VG image for PPG signal 384/763\n",
      "Generating VG image for PPG signal 385/763\n",
      "Generating VG image for PPG signal 386/763\n",
      "Generating VG image for PPG signal 387/763\n",
      "Generating VG image for PPG signal 388/763\n",
      "Generating VG image for PPG signal 389/763\n",
      "Generating VG image for PPG signal 390/763\n",
      "Generating VG image for PPG signal 391/763\n",
      "Generating VG image for PPG signal 392/763\n",
      "Generating VG image for PPG signal 393/763\n",
      "Generating VG image for PPG signal 394/763\n",
      "Generating VG image for PPG signal 395/763\n",
      "Generating VG image for PPG signal 396/763\n",
      "Generating VG image for PPG signal 397/763\n",
      "Generating VG image for PPG signal 398/763\n",
      "Generating VG image for PPG signal 399/763\n",
      "Generating VG image for PPG signal 400/763\n",
      "Generating VG image for PPG signal 401/763\n",
      "Generating VG image for PPG signal 402/763\n",
      "Generating VG image for PPG signal 403/763\n",
      "Generating VG image for PPG signal 404/763\n",
      "Generating VG image for PPG signal 405/763\n",
      "Generating VG image for PPG signal 406/763\n",
      "Generating VG image for PPG signal 407/763\n",
      "Generating VG image for PPG signal 408/763\n",
      "Generating VG image for PPG signal 409/763\n",
      "Generating VG image for PPG signal 410/763\n",
      "Generating VG image for PPG signal 411/763\n",
      "Generating VG image for PPG signal 412/763\n",
      "Generating VG image for PPG signal 413/763\n",
      "Generating VG image for PPG signal 414/763\n",
      "Generating VG image for PPG signal 415/763\n",
      "Generating VG image for PPG signal 416/763\n",
      "Generating VG image for PPG signal 417/763\n",
      "Generating VG image for PPG signal 418/763\n",
      "Generating VG image for PPG signal 419/763\n",
      "Generating VG image for PPG signal 420/763\n",
      "Generating VG image for PPG signal 421/763\n",
      "Generating VG image for PPG signal 422/763\n",
      "Generating VG image for PPG signal 423/763\n",
      "Generating VG image for PPG signal 424/763\n",
      "Generating VG image for PPG signal 425/763\n",
      "Generating VG image for PPG signal 426/763\n",
      "Generating VG image for PPG signal 427/763\n",
      "Generating VG image for PPG signal 428/763\n",
      "Generating VG image for PPG signal 429/763\n",
      "Generating VG image for PPG signal 430/763\n",
      "Generating VG image for PPG signal 431/763\n",
      "Generating VG image for PPG signal 432/763\n",
      "Generating VG image for PPG signal 433/763\n",
      "Generating VG image for PPG signal 434/763\n",
      "Generating VG image for PPG signal 435/763\n",
      "Generating VG image for PPG signal 436/763\n",
      "Generating VG image for PPG signal 437/763\n",
      "Generating VG image for PPG signal 438/763\n",
      "Generating VG image for PPG signal 439/763\n",
      "Generating VG image for PPG signal 440/763\n",
      "Generating VG image for PPG signal 441/763\n",
      "Generating VG image for PPG signal 442/763\n",
      "Generating VG image for PPG signal 443/763\n",
      "Generating VG image for PPG signal 444/763\n",
      "Generating VG image for PPG signal 445/763\n",
      "Generating VG image for PPG signal 446/763\n",
      "Generating VG image for PPG signal 447/763\n",
      "Generating VG image for PPG signal 448/763\n",
      "Generating VG image for PPG signal 449/763\n",
      "Generating VG image for PPG signal 450/763\n",
      "Generating VG image for PPG signal 451/763\n",
      "Generating VG image for PPG signal 452/763\n",
      "Generating VG image for PPG signal 453/763\n",
      "Generating VG image for PPG signal 454/763\n",
      "Generating VG image for PPG signal 455/763\n",
      "Generating VG image for PPG signal 456/763\n",
      "Generating VG image for PPG signal 457/763\n",
      "Generating VG image for PPG signal 458/763\n",
      "Generating VG image for PPG signal 459/763\n",
      "Generating VG image for PPG signal 460/763\n",
      "Generating VG image for PPG signal 461/763\n",
      "Generating VG image for PPG signal 462/763\n",
      "Generating VG image for PPG signal 463/763\n",
      "Generating VG image for PPG signal 464/763\n",
      "Generating VG image for PPG signal 465/763\n",
      "Generating VG image for PPG signal 466/763\n",
      "Generating VG image for PPG signal 467/763\n",
      "Generating VG image for PPG signal 468/763\n",
      "Generating VG image for PPG signal 469/763\n",
      "Generating VG image for PPG signal 470/763\n",
      "Generating VG image for PPG signal 471/763\n",
      "Generating VG image for PPG signal 472/763\n",
      "Generating VG image for PPG signal 473/763\n",
      "Generating VG image for PPG signal 474/763\n",
      "Generating VG image for PPG signal 475/763\n",
      "Generating VG image for PPG signal 476/763\n",
      "Generating VG image for PPG signal 477/763\n",
      "Generating VG image for PPG signal 478/763\n",
      "Generating VG image for PPG signal 479/763\n",
      "Generating VG image for PPG signal 480/763\n",
      "Generating VG image for PPG signal 481/763\n",
      "Generating VG image for PPG signal 482/763\n",
      "Generating VG image for PPG signal 483/763\n",
      "Generating VG image for PPG signal 484/763\n",
      "Generating VG image for PPG signal 485/763\n",
      "Generating VG image for PPG signal 486/763\n",
      "Generating VG image for PPG signal 487/763\n",
      "Generating VG image for PPG signal 488/763\n",
      "Generating VG image for PPG signal 489/763\n",
      "Generating VG image for PPG signal 490/763\n",
      "Generating VG image for PPG signal 491/763\n",
      "Generating VG image for PPG signal 492/763\n",
      "Generating VG image for PPG signal 493/763\n",
      "Generating VG image for PPG signal 494/763\n",
      "Generating VG image for PPG signal 495/763\n",
      "Generating VG image for PPG signal 496/763\n",
      "Generating VG image for PPG signal 497/763\n",
      "Generating VG image for PPG signal 498/763\n",
      "Generating VG image for PPG signal 499/763\n",
      "Generating VG image for PPG signal 500/763\n",
      "Generating VG image for PPG signal 501/763\n",
      "Generating VG image for PPG signal 502/763\n",
      "Generating VG image for PPG signal 503/763\n",
      "Generating VG image for PPG signal 504/763\n",
      "Generating VG image for PPG signal 505/763\n",
      "Generating VG image for PPG signal 506/763\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 507/763\n",
      "Generating VG image for PPG signal 508/763\n",
      "Generating VG image for PPG signal 509/763\n",
      "Generating VG image for PPG signal 510/763\n",
      "Generating VG image for PPG signal 511/763\n",
      "Generating VG image for PPG signal 512/763\n",
      "Generating VG image for PPG signal 513/763\n",
      "Generating VG image for PPG signal 514/763\n",
      "Generating VG image for PPG signal 515/763\n",
      "Generating VG image for PPG signal 516/763\n",
      "Generating VG image for PPG signal 517/763\n",
      "Generating VG image for PPG signal 518/763\n",
      "Generating VG image for PPG signal 519/763\n",
      "Generating VG image for PPG signal 520/763\n",
      "Generating VG image for PPG signal 521/763\n",
      "Generating VG image for PPG signal 522/763\n",
      "Generating VG image for PPG signal 523/763\n",
      "Generating VG image for PPG signal 524/763\n",
      "Generating VG image for PPG signal 525/763\n",
      "Generating VG image for PPG signal 526/763\n",
      "Generating VG image for PPG signal 527/763\n",
      "Generating VG image for PPG signal 528/763\n",
      "Generating VG image for PPG signal 529/763\n",
      "Generating VG image for PPG signal 530/763\n",
      "Generating VG image for PPG signal 531/763\n",
      "Generating VG image for PPG signal 532/763\n",
      "Generating VG image for PPG signal 533/763\n",
      "Generating VG image for PPG signal 534/763\n",
      "Generating VG image for PPG signal 535/763\n",
      "Generating VG image for PPG signal 536/763\n",
      "Generating VG image for PPG signal 537/763\n",
      "Generating VG image for PPG signal 538/763\n",
      "Generating VG image for PPG signal 539/763\n",
      "Generating VG image for PPG signal 540/763\n",
      "Generating VG image for PPG signal 541/763\n",
      "Generating VG image for PPG signal 542/763\n",
      "Generating VG image for PPG signal 543/763\n",
      "Generating VG image for PPG signal 544/763\n",
      "Generating VG image for PPG signal 545/763\n",
      "Generating VG image for PPG signal 546/763\n",
      "Generating VG image for PPG signal 547/763\n",
      "Generating VG image for PPG signal 548/763\n",
      "Generating VG image for PPG signal 549/763\n",
      "Generating VG image for PPG signal 550/763\n",
      "Generating VG image for PPG signal 551/763\n",
      "Generating VG image for PPG signal 552/763\n",
      "Generating VG image for PPG signal 553/763\n",
      "Generating VG image for PPG signal 554/763\n",
      "Generating VG image for PPG signal 555/763\n",
      "Generating VG image for PPG signal 556/763\n",
      "Generating VG image for PPG signal 557/763\n",
      "Generating VG image for PPG signal 558/763\n",
      "Generating VG image for PPG signal 559/763\n",
      "Generating VG image for PPG signal 560/763\n",
      "Generating VG image for PPG signal 561/763\n",
      "Generating VG image for PPG signal 562/763\n",
      "Generating VG image for PPG signal 563/763\n",
      "Generating VG image for PPG signal 564/763\n",
      "Generating VG image for PPG signal 565/763\n",
      "Generating VG image for PPG signal 566/763\n",
      "Generating VG image for PPG signal 567/763\n",
      "Generating VG image for PPG signal 568/763\n",
      "Generating VG image for PPG signal 569/763\n",
      "Generating VG image for PPG signal 570/763\n",
      "Generating VG image for PPG signal 571/763\n",
      "Generating VG image for PPG signal 572/763\n",
      "Generating VG image for PPG signal 573/763\n",
      "Generating VG image for PPG signal 574/763\n",
      "Generating VG image for PPG signal 575/763\n",
      "Generating VG image for PPG signal 576/763\n",
      "Generating VG image for PPG signal 577/763\n",
      "Generating VG image for PPG signal 578/763\n",
      "Generating VG image for PPG signal 579/763\n",
      "Generating VG image for PPG signal 580/763\n",
      "Generating VG image for PPG signal 581/763\n",
      "Generating VG image for PPG signal 582/763\n",
      "Generating VG image for PPG signal 583/763\n",
      "Generating VG image for PPG signal 584/763\n",
      "Generating VG image for PPG signal 585/763\n",
      "Generating VG image for PPG signal 586/763\n",
      "Generating VG image for PPG signal 587/763\n",
      "Generating VG image for PPG signal 588/763\n",
      "Generating VG image for PPG signal 589/763\n",
      "Generating VG image for PPG signal 590/763\n",
      "Generating VG image for PPG signal 591/763\n",
      "Generating VG image for PPG signal 592/763\n",
      "Generating VG image for PPG signal 593/763\n",
      "Generating VG image for PPG signal 594/763\n",
      "Generating VG image for PPG signal 595/763\n",
      "Generating VG image for PPG signal 596/763\n",
      "Generating VG image for PPG signal 597/763\n",
      "Generating VG image for PPG signal 598/763\n",
      "Generating VG image for PPG signal 599/763\n",
      "Generating VG image for PPG signal 600/763\n",
      "Generating VG image for PPG signal 601/763\n",
      "Generating VG image for PPG signal 602/763\n",
      "Generating VG image for PPG signal 603/763\n",
      "Generating VG image for PPG signal 604/763\n",
      "Generating VG image for PPG signal 605/763\n",
      "Generating VG image for PPG signal 606/763\n",
      "Generating VG image for PPG signal 607/763\n",
      "Generating VG image for PPG signal 608/763\n",
      "Generating VG image for PPG signal 609/763\n",
      "Generating VG image for PPG signal 610/763\n",
      "Generating VG image for PPG signal 611/763\n",
      "Generating VG image for PPG signal 612/763\n",
      "Generating VG image for PPG signal 613/763\n",
      "Generating VG image for PPG signal 614/763\n",
      "Generating VG image for PPG signal 615/763\n",
      "Generating VG image for PPG signal 616/763\n",
      "Generating VG image for PPG signal 617/763\n",
      "Generating VG image for PPG signal 618/763\n",
      "Generating VG image for PPG signal 619/763\n",
      "Generating VG image for PPG signal 620/763\n",
      "Generating VG image for PPG signal 621/763\n",
      "Generating VG image for PPG signal 622/763\n",
      "Generating VG image for PPG signal 623/763\n",
      "Generating VG image for PPG signal 624/763\n",
      "Generating VG image for PPG signal 625/763\n",
      "Generating VG image for PPG signal 626/763\n",
      "Generating VG image for PPG signal 627/763\n",
      "Generating VG image for PPG signal 628/763\n",
      "Generating VG image for PPG signal 629/763\n",
      "Generating VG image for PPG signal 630/763\n",
      "Generating VG image for PPG signal 631/763\n",
      "Generating VG image for PPG signal 632/763\n",
      "Generating VG image for PPG signal 633/763\n",
      "Generating VG image for PPG signal 634/763\n",
      "Generating VG image for PPG signal 635/763\n",
      "Generating VG image for PPG signal 636/763\n",
      "Generating VG image for PPG signal 637/763\n",
      "Generating VG image for PPG signal 638/763\n",
      "Generating VG image for PPG signal 639/763\n",
      "Generating VG image for PPG signal 640/763\n",
      "Generating VG image for PPG signal 641/763\n",
      "Generating VG image for PPG signal 642/763\n",
      "Generating VG image for PPG signal 643/763\n",
      "Generating VG image for PPG signal 644/763\n",
      "Generating VG image for PPG signal 645/763\n",
      "Generating VG image for PPG signal 646/763\n",
      "Generating VG image for PPG signal 647/763\n",
      "Generating VG image for PPG signal 648/763\n",
      "Generating VG image for PPG signal 649/763\n",
      "Generating VG image for PPG signal 650/763\n",
      "Generating VG image for PPG signal 651/763\n",
      "Generating VG image for PPG signal 652/763\n",
      "Generating VG image for PPG signal 653/763\n",
      "Generating VG image for PPG signal 654/763\n",
      "Generating VG image for PPG signal 655/763\n",
      "Generating VG image for PPG signal 656/763\n",
      "Generating VG image for PPG signal 657/763\n",
      "Generating VG image for PPG signal 658/763\n",
      "Generating VG image for PPG signal 659/763\n",
      "Generating VG image for PPG signal 660/763\n",
      "Generating VG image for PPG signal 661/763\n",
      "Generating VG image for PPG signal 662/763\n",
      "Generating VG image for PPG signal 663/763\n",
      "Generating VG image for PPG signal 664/763\n",
      "Generating VG image for PPG signal 665/763\n",
      "Generating VG image for PPG signal 666/763\n",
      "Generating VG image for PPG signal 667/763\n",
      "Generating VG image for PPG signal 668/763\n",
      "Generating VG image for PPG signal 669/763\n",
      "Generating VG image for PPG signal 670/763\n",
      "Generating VG image for PPG signal 671/763\n",
      "Generating VG image for PPG signal 672/763\n",
      "Generating VG image for PPG signal 673/763\n",
      "Generating VG image for PPG signal 674/763\n",
      "Generating VG image for PPG signal 675/763\n",
      "Generating VG image for PPG signal 676/763\n",
      "Generating VG image for PPG signal 677/763\n",
      "Generating VG image for PPG signal 678/763\n",
      "Generating VG image for PPG signal 679/763\n",
      "Generating VG image for PPG signal 680/763\n",
      "Generating VG image for PPG signal 681/763\n",
      "Generating VG image for PPG signal 682/763\n",
      "Generating VG image for PPG signal 683/763\n",
      "Generating VG image for PPG signal 684/763\n",
      "Generating VG image for PPG signal 685/763\n",
      "Generating VG image for PPG signal 686/763\n",
      "Generating VG image for PPG signal 687/763\n",
      "Generating VG image for PPG signal 688/763\n",
      "Generating VG image for PPG signal 689/763\n",
      "Generating VG image for PPG signal 690/763\n",
      "Generating VG image for PPG signal 691/763\n",
      "Generating VG image for PPG signal 692/763\n",
      "Generating VG image for PPG signal 693/763\n",
      "Generating VG image for PPG signal 694/763\n",
      "Generating VG image for PPG signal 695/763\n",
      "Generating VG image for PPG signal 696/763\n",
      "Generating VG image for PPG signal 697/763\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 698/763\n",
      "Generating VG image for PPG signal 699/763\n",
      "Generating VG image for PPG signal 700/763\n",
      "Generating VG image for PPG signal 701/763\n",
      "Generating VG image for PPG signal 702/763\n",
      "Generating VG image for PPG signal 703/763\n",
      "Generating VG image for PPG signal 704/763\n",
      "Generating VG image for PPG signal 705/763\n",
      "Generating VG image for PPG signal 706/763\n",
      "Generating VG image for PPG signal 707/763\n",
      "Generating VG image for PPG signal 708/763\n",
      "Generating VG image for PPG signal 709/763\n",
      "Generating VG image for PPG signal 710/763\n",
      "Generating VG image for PPG signal 711/763\n",
      "Generating VG image for PPG signal 712/763\n",
      "Generating VG image for PPG signal 713/763\n",
      "Generating VG image for PPG signal 714/763\n",
      "Generating VG image for PPG signal 715/763\n",
      "Generating VG image for PPG signal 716/763\n",
      "Generating VG image for PPG signal 717/763\n",
      "Generating VG image for PPG signal 718/763\n",
      "Generating VG image for PPG signal 719/763\n",
      "Generating VG image for PPG signal 720/763\n",
      "Generating VG image for PPG signal 721/763\n",
      "Generating VG image for PPG signal 722/763\n",
      "Generating VG image for PPG signal 723/763\n",
      "Generating VG image for PPG signal 724/763\n",
      "Generating VG image for PPG signal 725/763\n",
      "Generating VG image for PPG signal 726/763\n",
      "Generating VG image for PPG signal 727/763\n",
      "Generating VG image for PPG signal 728/763\n",
      "Generating VG image for PPG signal 729/763\n",
      "Generating VG image for PPG signal 730/763\n",
      "Generating VG image for PPG signal 731/763\n",
      "Generating VG image for PPG signal 732/763\n",
      "Generating VG image for PPG signal 733/763\n",
      "Generating VG image for PPG signal 734/763\n",
      "Generating VG image for PPG signal 735/763\n",
      "Generating VG image for PPG signal 736/763\n",
      "Generating VG image for PPG signal 737/763\n",
      "Generating VG image for PPG signal 738/763\n",
      "Generating VG image for PPG signal 739/763\n",
      "Generating VG image for PPG signal 740/763\n",
      "Generating VG image for PPG signal 741/763\n",
      "Generating VG image for PPG signal 742/763\n",
      "Generating VG image for PPG signal 743/763\n",
      "Generating VG image for PPG signal 744/763\n",
      "Generating VG image for PPG signal 745/763\n",
      "Generating VG image for PPG signal 746/763\n",
      "Generating VG image for PPG signal 747/763\n",
      "Generating VG image for PPG signal 748/763\n",
      "Generating VG image for PPG signal 749/763\n",
      "Generating VG image for PPG signal 750/763\n",
      "Generating VG image for PPG signal 751/763\n",
      "Generating VG image for PPG signal 752/763\n",
      "Generating VG image for PPG signal 753/763\n",
      "Generating VG image for PPG signal 754/763\n",
      "Generating VG image for PPG signal 755/763\n",
      "Generating VG image for PPG signal 756/763\n",
      "Generating VG image for PPG signal 757/763\n",
      "Generating VG image for PPG signal 758/763\n",
      "Generating VG image for PPG signal 759/763\n",
      "Generating VG image for PPG signal 760/763\n",
      "Generating VG image for PPG signal 761/763\n",
      "Generating VG image for PPG signal 762/763\n",
      "Generating VG image for PPG signal 763/763\n",
      "Batch 3 processing complete.\n",
      "Processing Batch 4...\n",
      "Generating VG image for PPG signal 1/384\n",
      "Generating VG image for PPG signal 2/384\n",
      "Generating VG image for PPG signal 3/384\n",
      "Generating VG image for PPG signal 4/384\n",
      "Generating VG image for PPG signal 5/384\n",
      "Generating VG image for PPG signal 6/384\n",
      "Generating VG image for PPG signal 7/384\n",
      "Generating VG image for PPG signal 8/384\n",
      "Generating VG image for PPG signal 9/384\n",
      "Generating VG image for PPG signal 10/384\n",
      "Generating VG image for PPG signal 11/384\n",
      "Generating VG image for PPG signal 12/384\n",
      "Generating VG image for PPG signal 13/384\n",
      "Generating VG image for PPG signal 14/384\n",
      "Generating VG image for PPG signal 15/384\n",
      "Generating VG image for PPG signal 16/384\n",
      "Generating VG image for PPG signal 17/384\n",
      "Generating VG image for PPG signal 18/384\n",
      "Generating VG image for PPG signal 19/384\n",
      "Generating VG image for PPG signal 20/384\n",
      "Generating VG image for PPG signal 21/384\n",
      "Generating VG image for PPG signal 22/384\n",
      "Generating VG image for PPG signal 23/384\n",
      "Generating VG image for PPG signal 24/384\n",
      "Generating VG image for PPG signal 25/384\n",
      "Generating VG image for PPG signal 26/384\n",
      "Generating VG image for PPG signal 27/384\n",
      "Generating VG image for PPG signal 28/384\n",
      "Generating VG image for PPG signal 29/384\n",
      "Generating VG image for PPG signal 30/384\n",
      "Generating VG image for PPG signal 31/384\n",
      "Generating VG image for PPG signal 32/384\n",
      "Generating VG image for PPG signal 33/384\n",
      "Generating VG image for PPG signal 34/384\n",
      "Generating VG image for PPG signal 35/384\n",
      "Generating VG image for PPG signal 36/384\n",
      "Generating VG image for PPG signal 37/384\n",
      "Generating VG image for PPG signal 38/384\n",
      "Generating VG image for PPG signal 39/384\n",
      "Generating VG image for PPG signal 40/384\n",
      "Generating VG image for PPG signal 41/384\n",
      "Generating VG image for PPG signal 42/384\n",
      "Generating VG image for PPG signal 43/384\n",
      "Generating VG image for PPG signal 44/384\n",
      "Generating VG image for PPG signal 45/384\n",
      "Generating VG image for PPG signal 46/384\n",
      "Generating VG image for PPG signal 47/384\n",
      "Generating VG image for PPG signal 48/384\n",
      "Generating VG image for PPG signal 49/384\n",
      "Generating VG image for PPG signal 50/384\n",
      "Generating VG image for PPG signal 51/384\n",
      "Generating VG image for PPG signal 52/384\n",
      "Generating VG image for PPG signal 53/384\n",
      "Generating VG image for PPG signal 54/384\n",
      "Generating VG image for PPG signal 55/384\n",
      "Generating VG image for PPG signal 56/384\n",
      "Generating VG image for PPG signal 57/384\n",
      "Generating VG image for PPG signal 58/384\n",
      "Generating VG image for PPG signal 59/384\n",
      "Generating VG image for PPG signal 60/384\n",
      "Generating VG image for PPG signal 61/384\n",
      "Generating VG image for PPG signal 62/384\n",
      "Generating VG image for PPG signal 63/384\n",
      "Generating VG image for PPG signal 64/384\n",
      "Generating VG image for PPG signal 65/384\n",
      "Generating VG image for PPG signal 66/384\n",
      "Generating VG image for PPG signal 67/384\n",
      "Generating VG image for PPG signal 68/384\n",
      "Generating VG image for PPG signal 69/384\n",
      "Generating VG image for PPG signal 70/384\n",
      "Generating VG image for PPG signal 71/384\n",
      "Generating VG image for PPG signal 72/384\n",
      "Generating VG image for PPG signal 73/384\n",
      "Generating VG image for PPG signal 74/384\n",
      "Generating VG image for PPG signal 75/384\n",
      "Generating VG image for PPG signal 76/384\n",
      "Generating VG image for PPG signal 77/384\n",
      "Generating VG image for PPG signal 78/384\n",
      "Generating VG image for PPG signal 79/384\n",
      "Generating VG image for PPG signal 80/384\n",
      "Generating VG image for PPG signal 81/384\n",
      "Generating VG image for PPG signal 82/384\n",
      "Generating VG image for PPG signal 83/384\n",
      "Generating VG image for PPG signal 84/384\n",
      "Generating VG image for PPG signal 85/384\n",
      "Generating VG image for PPG signal 86/384\n",
      "Generating VG image for PPG signal 87/384\n",
      "Generating VG image for PPG signal 88/384\n",
      "Generating VG image for PPG signal 89/384\n",
      "Generating VG image for PPG signal 90/384\n",
      "Generating VG image for PPG signal 91/384\n",
      "Generating VG image for PPG signal 92/384\n",
      "Generating VG image for PPG signal 93/384\n",
      "Generating VG image for PPG signal 94/384\n",
      "Generating VG image for PPG signal 95/384\n",
      "Generating VG image for PPG signal 96/384\n",
      "Generating VG image for PPG signal 97/384\n",
      "Generating VG image for PPG signal 98/384\n",
      "Generating VG image for PPG signal 99/384\n",
      "Generating VG image for PPG signal 100/384\n",
      "Generating VG image for PPG signal 101/384\n",
      "Generating VG image for PPG signal 102/384\n",
      "Generating VG image for PPG signal 103/384\n",
      "Generating VG image for PPG signal 104/384\n",
      "Generating VG image for PPG signal 105/384\n",
      "Generating VG image for PPG signal 106/384\n",
      "Generating VG image for PPG signal 107/384\n",
      "Generating VG image for PPG signal 108/384\n",
      "Generating VG image for PPG signal 109/384\n",
      "Generating VG image for PPG signal 110/384\n",
      "Generating VG image for PPG signal 111/384\n",
      "Generating VG image for PPG signal 112/384\n",
      "Generating VG image for PPG signal 113/384\n",
      "Generating VG image for PPG signal 114/384\n",
      "Generating VG image for PPG signal 115/384\n",
      "Generating VG image for PPG signal 116/384\n",
      "Generating VG image for PPG signal 117/384\n",
      "Generating VG image for PPG signal 118/384\n",
      "Generating VG image for PPG signal 119/384\n",
      "Generating VG image for PPG signal 120/384\n",
      "Generating VG image for PPG signal 121/384\n",
      "Generating VG image for PPG signal 122/384\n",
      "Generating VG image for PPG signal 123/384\n",
      "Generating VG image for PPG signal 124/384\n",
      "Generating VG image for PPG signal 125/384\n",
      "Generating VG image for PPG signal 126/384\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 127/384\n",
      "Generating VG image for PPG signal 128/384\n",
      "Generating VG image for PPG signal 129/384\n",
      "Generating VG image for PPG signal 130/384\n",
      "Generating VG image for PPG signal 131/384\n",
      "Generating VG image for PPG signal 132/384\n",
      "Generating VG image for PPG signal 133/384\n",
      "Generating VG image for PPG signal 134/384\n",
      "Generating VG image for PPG signal 135/384\n",
      "Generating VG image for PPG signal 136/384\n",
      "Generating VG image for PPG signal 137/384\n",
      "Generating VG image for PPG signal 138/384\n",
      "Generating VG image for PPG signal 139/384\n",
      "Generating VG image for PPG signal 140/384\n",
      "Generating VG image for PPG signal 141/384\n",
      "Generating VG image for PPG signal 142/384\n",
      "Generating VG image for PPG signal 143/384\n",
      "Generating VG image for PPG signal 144/384\n",
      "Generating VG image for PPG signal 145/384\n",
      "Generating VG image for PPG signal 146/384\n",
      "Generating VG image for PPG signal 147/384\n",
      "Generating VG image for PPG signal 148/384\n",
      "Generating VG image for PPG signal 149/384\n",
      "Generating VG image for PPG signal 150/384\n",
      "Generating VG image for PPG signal 151/384\n",
      "Generating VG image for PPG signal 152/384\n",
      "Generating VG image for PPG signal 153/384\n",
      "Generating VG image for PPG signal 154/384\n",
      "Generating VG image for PPG signal 155/384\n",
      "Generating VG image for PPG signal 156/384\n",
      "Generating VG image for PPG signal 157/384\n",
      "Generating VG image for PPG signal 158/384\n",
      "Generating VG image for PPG signal 159/384\n",
      "Generating VG image for PPG signal 160/384\n",
      "Generating VG image for PPG signal 161/384\n",
      "Generating VG image for PPG signal 162/384\n",
      "Generating VG image for PPG signal 163/384\n",
      "Generating VG image for PPG signal 164/384\n",
      "Generating VG image for PPG signal 165/384\n",
      "Generating VG image for PPG signal 166/384\n",
      "Generating VG image for PPG signal 167/384\n",
      "Generating VG image for PPG signal 168/384\n",
      "Generating VG image for PPG signal 169/384\n",
      "Generating VG image for PPG signal 170/384\n",
      "Generating VG image for PPG signal 171/384\n",
      "Generating VG image for PPG signal 172/384\n",
      "Generating VG image for PPG signal 173/384\n",
      "Generating VG image for PPG signal 174/384\n",
      "Generating VG image for PPG signal 175/384\n",
      "Generating VG image for PPG signal 176/384\n",
      "Generating VG image for PPG signal 177/384\n",
      "Generating VG image for PPG signal 178/384\n",
      "Generating VG image for PPG signal 179/384\n",
      "Generating VG image for PPG signal 180/384\n",
      "Generating VG image for PPG signal 181/384\n",
      "Generating VG image for PPG signal 182/384\n",
      "Generating VG image for PPG signal 183/384\n",
      "Generating VG image for PPG signal 184/384\n",
      "Generating VG image for PPG signal 185/384\n",
      "Generating VG image for PPG signal 186/384\n",
      "Generating VG image for PPG signal 187/384\n",
      "Generating VG image for PPG signal 188/384\n",
      "Generating VG image for PPG signal 189/384\n",
      "Generating VG image for PPG signal 190/384\n",
      "Generating VG image for PPG signal 191/384\n",
      "Generating VG image for PPG signal 192/384\n",
      "Generating VG image for PPG signal 193/384\n",
      "Generating VG image for PPG signal 194/384\n",
      "Generating VG image for PPG signal 195/384\n",
      "Generating VG image for PPG signal 196/384\n",
      "Generating VG image for PPG signal 197/384\n",
      "Generating VG image for PPG signal 198/384\n",
      "Generating VG image for PPG signal 199/384\n",
      "Generating VG image for PPG signal 200/384\n",
      "Generating VG image for PPG signal 201/384\n",
      "Generating VG image for PPG signal 202/384\n",
      "Generating VG image for PPG signal 203/384\n",
      "Generating VG image for PPG signal 204/384\n",
      "Generating VG image for PPG signal 205/384\n",
      "Generating VG image for PPG signal 206/384\n",
      "Generating VG image for PPG signal 207/384\n",
      "Generating VG image for PPG signal 208/384\n",
      "Generating VG image for PPG signal 209/384\n",
      "Generating VG image for PPG signal 210/384\n",
      "Generating VG image for PPG signal 211/384\n",
      "Generating VG image for PPG signal 212/384\n",
      "Generating VG image for PPG signal 213/384\n",
      "Generating VG image for PPG signal 214/384\n",
      "Generating VG image for PPG signal 215/384\n",
      "Generating VG image for PPG signal 216/384\n",
      "Generating VG image for PPG signal 217/384\n",
      "Generating VG image for PPG signal 218/384\n",
      "Generating VG image for PPG signal 219/384\n",
      "Generating VG image for PPG signal 220/384\n",
      "Generating VG image for PPG signal 221/384\n",
      "Generating VG image for PPG signal 222/384\n",
      "Generating VG image for PPG signal 223/384\n",
      "Generating VG image for PPG signal 224/384\n",
      "Generating VG image for PPG signal 225/384\n",
      "Generating VG image for PPG signal 226/384\n",
      "Generating VG image for PPG signal 227/384\n",
      "Generating VG image for PPG signal 228/384\n",
      "Generating VG image for PPG signal 229/384\n",
      "Generating VG image for PPG signal 230/384\n",
      "Generating VG image for PPG signal 231/384\n",
      "Generating VG image for PPG signal 232/384\n",
      "Generating VG image for PPG signal 233/384\n",
      "Generating VG image for PPG signal 234/384\n",
      "Generating VG image for PPG signal 235/384\n",
      "Generating VG image for PPG signal 236/384\n",
      "Generating VG image for PPG signal 237/384\n",
      "Generating VG image for PPG signal 238/384\n",
      "Generating VG image for PPG signal 239/384\n",
      "Generating VG image for PPG signal 240/384\n",
      "Generating VG image for PPG signal 241/384\n",
      "Generating VG image for PPG signal 242/384\n",
      "Generating VG image for PPG signal 243/384\n",
      "Generating VG image for PPG signal 244/384\n",
      "Generating VG image for PPG signal 245/384\n",
      "Generating VG image for PPG signal 246/384\n",
      "Generating VG image for PPG signal 247/384\n",
      "Generating VG image for PPG signal 248/384\n",
      "Generating VG image for PPG signal 249/384\n",
      "Generating VG image for PPG signal 250/384\n",
      "Generating VG image for PPG signal 251/384\n",
      "Generating VG image for PPG signal 252/384\n",
      "Generating VG image for PPG signal 253/384\n",
      "Generating VG image for PPG signal 254/384\n",
      "Generating VG image for PPG signal 255/384\n",
      "Generating VG image for PPG signal 256/384\n",
      "Generating VG image for PPG signal 257/384\n",
      "Generating VG image for PPG signal 258/384\n",
      "Generating VG image for PPG signal 259/384\n",
      "Generating VG image for PPG signal 260/384\n",
      "Generating VG image for PPG signal 261/384\n",
      "Generating VG image for PPG signal 262/384\n",
      "Generating VG image for PPG signal 263/384\n",
      "Generating VG image for PPG signal 264/384\n",
      "Generating VG image for PPG signal 265/384\n",
      "Generating VG image for PPG signal 266/384\n",
      "Generating VG image for PPG signal 267/384\n",
      "Generating VG image for PPG signal 268/384\n",
      "Generating VG image for PPG signal 269/384\n",
      "Generating VG image for PPG signal 270/384\n",
      "Generating VG image for PPG signal 271/384\n",
      "Generating VG image for PPG signal 272/384\n",
      "Generating VG image for PPG signal 273/384\n",
      "Generating VG image for PPG signal 274/384\n",
      "Generating VG image for PPG signal 275/384\n",
      "Generating VG image for PPG signal 276/384\n",
      "Generating VG image for PPG signal 277/384\n",
      "Generating VG image for PPG signal 278/384\n",
      "Generating VG image for PPG signal 279/384\n",
      "Generating VG image for PPG signal 280/384\n",
      "Generating VG image for PPG signal 281/384\n",
      "Generating VG image for PPG signal 282/384\n",
      "Generating VG image for PPG signal 283/384\n",
      "Generating VG image for PPG signal 284/384\n",
      "Generating VG image for PPG signal 285/384\n",
      "Generating VG image for PPG signal 286/384\n",
      "Generating VG image for PPG signal 287/384\n",
      "Generating VG image for PPG signal 288/384\n",
      "Generating VG image for PPG signal 289/384\n",
      "Generating VG image for PPG signal 290/384\n",
      "Generating VG image for PPG signal 291/384\n",
      "Generating VG image for PPG signal 292/384\n",
      "Generating VG image for PPG signal 293/384\n",
      "Generating VG image for PPG signal 294/384\n",
      "Generating VG image for PPG signal 295/384\n",
      "Generating VG image for PPG signal 296/384\n",
      "Generating VG image for PPG signal 297/384\n",
      "Generating VG image for PPG signal 298/384\n",
      "Generating VG image for PPG signal 299/384\n",
      "Generating VG image for PPG signal 300/384\n",
      "Generating VG image for PPG signal 301/384\n",
      "Generating VG image for PPG signal 302/384\n",
      "Generating VG image for PPG signal 303/384\n",
      "Generating VG image for PPG signal 304/384\n",
      "Generating VG image for PPG signal 305/384\n",
      "Generating VG image for PPG signal 306/384\n",
      "Generating VG image for PPG signal 307/384\n",
      "Generating VG image for PPG signal 308/384\n",
      "Generating VG image for PPG signal 309/384\n",
      "Generating VG image for PPG signal 310/384\n",
      "Generating VG image for PPG signal 311/384\n",
      "Generating VG image for PPG signal 312/384\n",
      "Generating VG image for PPG signal 313/384\n",
      "Generating VG image for PPG signal 314/384\n",
      "Generating VG image for PPG signal 315/384\n",
      "Generating VG image for PPG signal 316/384\n",
      "Generating VG image for PPG signal 317/384\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 318/384\n",
      "Generating VG image for PPG signal 319/384\n",
      "Generating VG image for PPG signal 320/384\n",
      "Generating VG image for PPG signal 321/384\n",
      "Generating VG image for PPG signal 322/384\n",
      "Generating VG image for PPG signal 323/384\n",
      "Generating VG image for PPG signal 324/384\n",
      "Generating VG image for PPG signal 325/384\n",
      "Generating VG image for PPG signal 326/384\n",
      "Generating VG image for PPG signal 327/384\n",
      "Generating VG image for PPG signal 328/384\n",
      "Generating VG image for PPG signal 329/384\n",
      "Generating VG image for PPG signal 330/384\n",
      "Generating VG image for PPG signal 331/384\n",
      "Generating VG image for PPG signal 332/384\n",
      "Generating VG image for PPG signal 333/384\n",
      "Generating VG image for PPG signal 334/384\n",
      "Generating VG image for PPG signal 335/384\n",
      "Generating VG image for PPG signal 336/384\n",
      "Generating VG image for PPG signal 337/384\n",
      "Generating VG image for PPG signal 338/384\n",
      "Generating VG image for PPG signal 339/384\n",
      "Generating VG image for PPG signal 340/384\n",
      "Generating VG image for PPG signal 341/384\n",
      "Generating VG image for PPG signal 342/384\n",
      "Generating VG image for PPG signal 343/384\n",
      "Generating VG image for PPG signal 344/384\n",
      "Generating VG image for PPG signal 345/384\n",
      "Generating VG image for PPG signal 346/384\n",
      "Generating VG image for PPG signal 347/384\n",
      "Generating VG image for PPG signal 348/384\n",
      "Generating VG image for PPG signal 349/384\n",
      "Generating VG image for PPG signal 350/384\n",
      "Generating VG image for PPG signal 351/384\n",
      "Generating VG image for PPG signal 352/384\n",
      "Generating VG image for PPG signal 353/384\n",
      "Generating VG image for PPG signal 354/384\n",
      "Generating VG image for PPG signal 355/384\n",
      "Generating VG image for PPG signal 356/384\n",
      "Generating VG image for PPG signal 357/384\n",
      "Generating VG image for PPG signal 358/384\n",
      "Generating VG image for PPG signal 359/384\n",
      "Generating VG image for PPG signal 360/384\n",
      "Generating VG image for PPG signal 361/384\n",
      "Generating VG image for PPG signal 362/384\n",
      "Generating VG image for PPG signal 363/384\n",
      "Generating VG image for PPG signal 364/384\n",
      "Generating VG image for PPG signal 365/384\n",
      "Generating VG image for PPG signal 366/384\n",
      "Generating VG image for PPG signal 367/384\n",
      "Generating VG image for PPG signal 368/384\n",
      "Generating VG image for PPG signal 369/384\n",
      "Generating VG image for PPG signal 370/384\n",
      "Generating VG image for PPG signal 371/384\n",
      "Generating VG image for PPG signal 372/384\n",
      "Generating VG image for PPG signal 373/384\n",
      "Generating VG image for PPG signal 374/384\n",
      "Generating VG image for PPG signal 375/384\n",
      "Generating VG image for PPG signal 376/384\n",
      "Generating VG image for PPG signal 377/384\n",
      "Generating VG image for PPG signal 378/384\n",
      "Generating VG image for PPG signal 379/384\n",
      "Generating VG image for PPG signal 380/384\n",
      "Generating VG image for PPG signal 381/384\n",
      "Generating VG image for PPG signal 382/384\n",
      "Generating VG image for PPG signal 383/384\n",
      "Generating VG image for PPG signal 384/384\n",
      "Batch 4 processing complete.\n",
      "Processing Batch 5...\n",
      "Generating VG image for PPG signal 1/1538\n",
      "Generating VG image for PPG signal 2/1538\n",
      "Generating VG image for PPG signal 3/1538\n",
      "Generating VG image for PPG signal 4/1538\n",
      "Generating VG image for PPG signal 5/1538\n",
      "Generating VG image for PPG signal 6/1538\n",
      "Generating VG image for PPG signal 7/1538\n",
      "Generating VG image for PPG signal 8/1538\n",
      "Generating VG image for PPG signal 9/1538\n",
      "Generating VG image for PPG signal 10/1538\n",
      "Generating VG image for PPG signal 11/1538\n",
      "Generating VG image for PPG signal 12/1538\n",
      "Generating VG image for PPG signal 13/1538\n",
      "Generating VG image for PPG signal 14/1538\n",
      "Generating VG image for PPG signal 15/1538\n",
      "Generating VG image for PPG signal 16/1538\n",
      "Generating VG image for PPG signal 17/1538\n",
      "Generating VG image for PPG signal 18/1538\n",
      "Generating VG image for PPG signal 19/1538\n",
      "Generating VG image for PPG signal 20/1538\n",
      "Generating VG image for PPG signal 21/1538\n",
      "Generating VG image for PPG signal 22/1538\n",
      "Generating VG image for PPG signal 23/1538\n",
      "Generating VG image for PPG signal 24/1538\n",
      "Generating VG image for PPG signal 25/1538\n",
      "Generating VG image for PPG signal 26/1538\n",
      "Generating VG image for PPG signal 27/1538\n",
      "Generating VG image for PPG signal 28/1538\n",
      "Generating VG image for PPG signal 29/1538\n",
      "Generating VG image for PPG signal 30/1538\n",
      "Generating VG image for PPG signal 31/1538\n",
      "Generating VG image for PPG signal 32/1538\n",
      "Generating VG image for PPG signal 33/1538\n",
      "Generating VG image for PPG signal 34/1538\n",
      "Generating VG image for PPG signal 35/1538\n",
      "Generating VG image for PPG signal 36/1538\n",
      "Generating VG image for PPG signal 37/1538\n",
      "Generating VG image for PPG signal 38/1538\n",
      "Generating VG image for PPG signal 39/1538\n",
      "Generating VG image for PPG signal 40/1538\n",
      "Generating VG image for PPG signal 41/1538\n",
      "Generating VG image for PPG signal 42/1538\n",
      "Generating VG image for PPG signal 43/1538\n",
      "Generating VG image for PPG signal 44/1538\n",
      "Generating VG image for PPG signal 45/1538\n",
      "Generating VG image for PPG signal 46/1538\n",
      "Generating VG image for PPG signal 47/1538\n",
      "Generating VG image for PPG signal 48/1538\n",
      "Generating VG image for PPG signal 49/1538\n",
      "Generating VG image for PPG signal 50/1538\n",
      "Generating VG image for PPG signal 51/1538\n",
      "Generating VG image for PPG signal 52/1538\n",
      "Generating VG image for PPG signal 53/1538\n",
      "Generating VG image for PPG signal 54/1538\n",
      "Generating VG image for PPG signal 55/1538\n",
      "Generating VG image for PPG signal 56/1538\n",
      "Generating VG image for PPG signal 57/1538\n",
      "Generating VG image for PPG signal 58/1538\n",
      "Generating VG image for PPG signal 59/1538\n",
      "Generating VG image for PPG signal 60/1538\n",
      "Generating VG image for PPG signal 61/1538\n",
      "Generating VG image for PPG signal 62/1538\n",
      "Generating VG image for PPG signal 63/1538\n",
      "Generating VG image for PPG signal 64/1538\n",
      "Generating VG image for PPG signal 65/1538\n",
      "Generating VG image for PPG signal 66/1538\n",
      "Generating VG image for PPG signal 67/1538\n",
      "Generating VG image for PPG signal 68/1538\n",
      "Generating VG image for PPG signal 69/1538\n",
      "Generating VG image for PPG signal 70/1538\n",
      "Generating VG image for PPG signal 71/1538\n",
      "Generating VG image for PPG signal 72/1538\n",
      "Generating VG image for PPG signal 73/1538\n",
      "Generating VG image for PPG signal 74/1538\n",
      "Generating VG image for PPG signal 75/1538\n",
      "Generating VG image for PPG signal 76/1538\n",
      "Generating VG image for PPG signal 77/1538\n",
      "Generating VG image for PPG signal 78/1538\n",
      "Generating VG image for PPG signal 79/1538\n",
      "Generating VG image for PPG signal 80/1538\n",
      "Generating VG image for PPG signal 81/1538\n",
      "Generating VG image for PPG signal 82/1538\n",
      "Generating VG image for PPG signal 83/1538\n",
      "Generating VG image for PPG signal 84/1538\n",
      "Generating VG image for PPG signal 85/1538\n",
      "Generating VG image for PPG signal 86/1538\n",
      "Generating VG image for PPG signal 87/1538\n",
      "Generating VG image for PPG signal 88/1538\n",
      "Generating VG image for PPG signal 89/1538\n",
      "Generating VG image for PPG signal 90/1538\n",
      "Generating VG image for PPG signal 91/1538\n",
      "Generating VG image for PPG signal 92/1538\n",
      "Generating VG image for PPG signal 93/1538\n",
      "Generating VG image for PPG signal 94/1538\n",
      "Generating VG image for PPG signal 95/1538\n",
      "Generating VG image for PPG signal 96/1538\n",
      "Generating VG image for PPG signal 97/1538\n",
      "Generating VG image for PPG signal 98/1538\n",
      "Generating VG image for PPG signal 99/1538\n",
      "Generating VG image for PPG signal 100/1538\n",
      "Generating VG image for PPG signal 101/1538\n",
      "Generating VG image for PPG signal 102/1538\n",
      "Generating VG image for PPG signal 103/1538\n",
      "Generating VG image for PPG signal 104/1538\n",
      "Generating VG image for PPG signal 105/1538\n",
      "Generating VG image for PPG signal 106/1538\n",
      "Generating VG image for PPG signal 107/1538\n",
      "Generating VG image for PPG signal 108/1538\n",
      "Generating VG image for PPG signal 109/1538\n",
      "Generating VG image for PPG signal 110/1538\n",
      "Generating VG image for PPG signal 111/1538\n",
      "Generating VG image for PPG signal 112/1538\n",
      "Generating VG image for PPG signal 113/1538\n",
      "Generating VG image for PPG signal 114/1538\n",
      "Generating VG image for PPG signal 115/1538\n",
      "Generating VG image for PPG signal 116/1538\n",
      "Generating VG image for PPG signal 117/1538\n",
      "Generating VG image for PPG signal 118/1538\n",
      "Generating VG image for PPG signal 119/1538\n",
      "Generating VG image for PPG signal 120/1538\n",
      "Generating VG image for PPG signal 121/1538\n",
      "Generating VG image for PPG signal 122/1538\n",
      "Generating VG image for PPG signal 123/1538\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 124/1538\n",
      "Generating VG image for PPG signal 125/1538\n",
      "Generating VG image for PPG signal 126/1538\n",
      "Generating VG image for PPG signal 127/1538\n",
      "Generating VG image for PPG signal 128/1538\n",
      "Generating VG image for PPG signal 129/1538\n",
      "Generating VG image for PPG signal 130/1538\n",
      "Generating VG image for PPG signal 131/1538\n",
      "Generating VG image for PPG signal 132/1538\n",
      "Generating VG image for PPG signal 133/1538\n",
      "Generating VG image for PPG signal 134/1538\n",
      "Generating VG image for PPG signal 135/1538\n",
      "Generating VG image for PPG signal 136/1538\n",
      "Generating VG image for PPG signal 137/1538\n",
      "Generating VG image for PPG signal 138/1538\n",
      "Generating VG image for PPG signal 139/1538\n",
      "Generating VG image for PPG signal 140/1538\n",
      "Generating VG image for PPG signal 141/1538\n",
      "Generating VG image for PPG signal 142/1538\n",
      "Generating VG image for PPG signal 143/1538\n",
      "Generating VG image for PPG signal 144/1538\n",
      "Generating VG image for PPG signal 145/1538\n",
      "Generating VG image for PPG signal 146/1538\n",
      "Generating VG image for PPG signal 147/1538\n",
      "Generating VG image for PPG signal 148/1538\n",
      "Generating VG image for PPG signal 149/1538\n",
      "Generating VG image for PPG signal 150/1538\n",
      "Generating VG image for PPG signal 151/1538\n",
      "Generating VG image for PPG signal 152/1538\n",
      "Generating VG image for PPG signal 153/1538\n",
      "Generating VG image for PPG signal 154/1538\n",
      "Generating VG image for PPG signal 155/1538\n",
      "Generating VG image for PPG signal 156/1538\n",
      "Generating VG image for PPG signal 157/1538\n",
      "Generating VG image for PPG signal 158/1538\n",
      "Generating VG image for PPG signal 159/1538\n",
      "Generating VG image for PPG signal 160/1538\n",
      "Generating VG image for PPG signal 161/1538\n",
      "Generating VG image for PPG signal 162/1538\n",
      "Generating VG image for PPG signal 163/1538\n",
      "Generating VG image for PPG signal 164/1538\n",
      "Generating VG image for PPG signal 165/1538\n",
      "Generating VG image for PPG signal 166/1538\n",
      "Generating VG image for PPG signal 167/1538\n",
      "Generating VG image for PPG signal 168/1538\n",
      "Generating VG image for PPG signal 169/1538\n",
      "Generating VG image for PPG signal 170/1538\n",
      "Generating VG image for PPG signal 171/1538\n",
      "Generating VG image for PPG signal 172/1538\n",
      "Generating VG image for PPG signal 173/1538\n",
      "Generating VG image for PPG signal 174/1538\n",
      "Generating VG image for PPG signal 175/1538\n",
      "Generating VG image for PPG signal 176/1538\n",
      "Generating VG image for PPG signal 177/1538\n",
      "Generating VG image for PPG signal 178/1538\n",
      "Generating VG image for PPG signal 179/1538\n",
      "Generating VG image for PPG signal 180/1538\n",
      "Generating VG image for PPG signal 181/1538\n",
      "Generating VG image for PPG signal 182/1538\n",
      "Generating VG image for PPG signal 183/1538\n",
      "Generating VG image for PPG signal 184/1538\n",
      "Generating VG image for PPG signal 185/1538\n",
      "Generating VG image for PPG signal 186/1538\n",
      "Generating VG image for PPG signal 187/1538\n",
      "Generating VG image for PPG signal 188/1538\n",
      "Generating VG image for PPG signal 189/1538\n",
      "Generating VG image for PPG signal 190/1538\n",
      "Generating VG image for PPG signal 191/1538\n",
      "Generating VG image for PPG signal 192/1538\n",
      "Generating VG image for PPG signal 193/1538\n",
      "Generating VG image for PPG signal 194/1538\n",
      "Generating VG image for PPG signal 195/1538\n",
      "Generating VG image for PPG signal 196/1538\n",
      "Generating VG image for PPG signal 197/1538\n",
      "Generating VG image for PPG signal 198/1538\n",
      "Generating VG image for PPG signal 199/1538\n",
      "Generating VG image for PPG signal 200/1538\n",
      "Generating VG image for PPG signal 201/1538\n",
      "Generating VG image for PPG signal 202/1538\n",
      "Generating VG image for PPG signal 203/1538\n",
      "Generating VG image for PPG signal 204/1538\n",
      "Generating VG image for PPG signal 205/1538\n",
      "Generating VG image for PPG signal 206/1538\n",
      "Generating VG image for PPG signal 207/1538\n",
      "Generating VG image for PPG signal 208/1538\n",
      "Generating VG image for PPG signal 209/1538\n",
      "Generating VG image for PPG signal 210/1538\n",
      "Generating VG image for PPG signal 211/1538\n",
      "Generating VG image for PPG signal 212/1538\n",
      "Generating VG image for PPG signal 213/1538\n",
      "Generating VG image for PPG signal 214/1538\n",
      "Generating VG image for PPG signal 215/1538\n",
      "Generating VG image for PPG signal 216/1538\n",
      "Generating VG image for PPG signal 217/1538\n",
      "Generating VG image for PPG signal 218/1538\n",
      "Generating VG image for PPG signal 219/1538\n",
      "Generating VG image for PPG signal 220/1538\n",
      "Generating VG image for PPG signal 221/1538\n",
      "Generating VG image for PPG signal 222/1538\n",
      "Generating VG image for PPG signal 223/1538\n",
      "Generating VG image for PPG signal 224/1538\n",
      "Generating VG image for PPG signal 225/1538\n",
      "Generating VG image for PPG signal 226/1538\n",
      "Generating VG image for PPG signal 227/1538\n",
      "Generating VG image for PPG signal 228/1538\n",
      "Generating VG image for PPG signal 229/1538\n",
      "Generating VG image for PPG signal 230/1538\n",
      "Generating VG image for PPG signal 231/1538\n",
      "Generating VG image for PPG signal 232/1538\n",
      "Generating VG image for PPG signal 233/1538\n",
      "Generating VG image for PPG signal 234/1538\n",
      "Generating VG image for PPG signal 235/1538\n",
      "Generating VG image for PPG signal 236/1538\n",
      "Generating VG image for PPG signal 237/1538\n",
      "Generating VG image for PPG signal 238/1538\n",
      "Generating VG image for PPG signal 239/1538\n",
      "Generating VG image for PPG signal 240/1538\n",
      "Generating VG image for PPG signal 241/1538\n",
      "Generating VG image for PPG signal 242/1538\n",
      "Generating VG image for PPG signal 243/1538\n",
      "Generating VG image for PPG signal 244/1538\n",
      "Generating VG image for PPG signal 245/1538\n",
      "Generating VG image for PPG signal 246/1538\n",
      "Generating VG image for PPG signal 247/1538\n",
      "Generating VG image for PPG signal 248/1538\n",
      "Generating VG image for PPG signal 249/1538\n",
      "Generating VG image for PPG signal 250/1538\n",
      "Generating VG image for PPG signal 251/1538\n",
      "Generating VG image for PPG signal 252/1538\n",
      "Generating VG image for PPG signal 253/1538\n",
      "Generating VG image for PPG signal 254/1538\n",
      "Generating VG image for PPG signal 255/1538\n",
      "Generating VG image for PPG signal 256/1538\n",
      "Generating VG image for PPG signal 257/1538\n",
      "Generating VG image for PPG signal 258/1538\n",
      "Generating VG image for PPG signal 259/1538\n",
      "Generating VG image for PPG signal 260/1538\n",
      "Generating VG image for PPG signal 261/1538\n",
      "Generating VG image for PPG signal 262/1538\n",
      "Generating VG image for PPG signal 263/1538\n",
      "Generating VG image for PPG signal 264/1538\n",
      "Generating VG image for PPG signal 265/1538\n",
      "Generating VG image for PPG signal 266/1538\n",
      "Generating VG image for PPG signal 267/1538\n",
      "Generating VG image for PPG signal 268/1538\n",
      "Generating VG image for PPG signal 269/1538\n",
      "Generating VG image for PPG signal 270/1538\n",
      "Generating VG image for PPG signal 271/1538\n",
      "Generating VG image for PPG signal 272/1538\n",
      "Generating VG image for PPG signal 273/1538\n",
      "Generating VG image for PPG signal 274/1538\n",
      "Generating VG image for PPG signal 275/1538\n",
      "Generating VG image for PPG signal 276/1538\n",
      "Generating VG image for PPG signal 277/1538\n",
      "Generating VG image for PPG signal 278/1538\n",
      "Generating VG image for PPG signal 279/1538\n",
      "Generating VG image for PPG signal 280/1538\n",
      "Generating VG image for PPG signal 281/1538\n",
      "Generating VG image for PPG signal 282/1538\n",
      "Generating VG image for PPG signal 283/1538\n",
      "Generating VG image for PPG signal 284/1538\n",
      "Generating VG image for PPG signal 285/1538\n",
      "Generating VG image for PPG signal 286/1538\n",
      "Generating VG image for PPG signal 287/1538\n",
      "Generating VG image for PPG signal 288/1538\n",
      "Generating VG image for PPG signal 289/1538\n",
      "Generating VG image for PPG signal 290/1538\n",
      "Generating VG image for PPG signal 291/1538\n",
      "Generating VG image for PPG signal 292/1538\n",
      "Generating VG image for PPG signal 293/1538\n",
      "Generating VG image for PPG signal 294/1538\n",
      "Generating VG image for PPG signal 295/1538\n",
      "Generating VG image for PPG signal 296/1538\n",
      "Generating VG image for PPG signal 297/1538\n",
      "Generating VG image for PPG signal 298/1538\n",
      "Generating VG image for PPG signal 299/1538\n",
      "Generating VG image for PPG signal 300/1538\n",
      "Generating VG image for PPG signal 301/1538\n",
      "Generating VG image for PPG signal 302/1538\n",
      "Generating VG image for PPG signal 303/1538\n",
      "Generating VG image for PPG signal 304/1538\n",
      "Generating VG image for PPG signal 305/1538\n",
      "Generating VG image for PPG signal 306/1538\n",
      "Generating VG image for PPG signal 307/1538\n",
      "Generating VG image for PPG signal 308/1538\n",
      "Generating VG image for PPG signal 309/1538\n",
      "Generating VG image for PPG signal 310/1538\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 311/1538\n",
      "Generating VG image for PPG signal 312/1538\n",
      "Generating VG image for PPG signal 313/1538\n",
      "Generating VG image for PPG signal 314/1538\n",
      "Generating VG image for PPG signal 315/1538\n",
      "Generating VG image for PPG signal 316/1538\n",
      "Generating VG image for PPG signal 317/1538\n",
      "Generating VG image for PPG signal 318/1538\n",
      "Generating VG image for PPG signal 319/1538\n",
      "Generating VG image for PPG signal 320/1538\n",
      "Generating VG image for PPG signal 321/1538\n",
      "Generating VG image for PPG signal 322/1538\n",
      "Generating VG image for PPG signal 323/1538\n",
      "Generating VG image for PPG signal 324/1538\n",
      "Generating VG image for PPG signal 325/1538\n",
      "Generating VG image for PPG signal 326/1538\n",
      "Generating VG image for PPG signal 327/1538\n",
      "Generating VG image for PPG signal 328/1538\n",
      "Generating VG image for PPG signal 329/1538\n",
      "Generating VG image for PPG signal 330/1538\n",
      "Generating VG image for PPG signal 331/1538\n",
      "Generating VG image for PPG signal 332/1538\n",
      "Generating VG image for PPG signal 333/1538\n",
      "Generating VG image for PPG signal 334/1538\n",
      "Generating VG image for PPG signal 335/1538\n",
      "Generating VG image for PPG signal 336/1538\n",
      "Generating VG image for PPG signal 337/1538\n",
      "Generating VG image for PPG signal 338/1538\n",
      "Generating VG image for PPG signal 339/1538\n",
      "Generating VG image for PPG signal 340/1538\n",
      "Generating VG image for PPG signal 341/1538\n",
      "Generating VG image for PPG signal 342/1538\n",
      "Generating VG image for PPG signal 343/1538\n",
      "Generating VG image for PPG signal 344/1538\n",
      "Generating VG image for PPG signal 345/1538\n",
      "Generating VG image for PPG signal 346/1538\n",
      "Generating VG image for PPG signal 347/1538\n",
      "Generating VG image for PPG signal 348/1538\n",
      "Generating VG image for PPG signal 349/1538\n",
      "Generating VG image for PPG signal 350/1538\n",
      "Generating VG image for PPG signal 351/1538\n",
      "Generating VG image for PPG signal 352/1538\n",
      "Generating VG image for PPG signal 353/1538\n",
      "Generating VG image for PPG signal 354/1538\n",
      "Generating VG image for PPG signal 355/1538\n",
      "Generating VG image for PPG signal 356/1538\n",
      "Generating VG image for PPG signal 357/1538\n",
      "Generating VG image for PPG signal 358/1538\n",
      "Generating VG image for PPG signal 359/1538\n",
      "Generating VG image for PPG signal 360/1538\n",
      "Generating VG image for PPG signal 361/1538\n",
      "Generating VG image for PPG signal 362/1538\n",
      "Generating VG image for PPG signal 363/1538\n",
      "Generating VG image for PPG signal 364/1538\n",
      "Generating VG image for PPG signal 365/1538\n",
      "Generating VG image for PPG signal 366/1538\n",
      "Generating VG image for PPG signal 367/1538\n",
      "Generating VG image for PPG signal 368/1538\n",
      "Generating VG image for PPG signal 369/1538\n",
      "Generating VG image for PPG signal 370/1538\n",
      "Generating VG image for PPG signal 371/1538\n",
      "Generating VG image for PPG signal 372/1538\n",
      "Generating VG image for PPG signal 373/1538\n",
      "Generating VG image for PPG signal 374/1538\n",
      "Generating VG image for PPG signal 375/1538\n",
      "Generating VG image for PPG signal 376/1538\n",
      "Generating VG image for PPG signal 377/1538\n",
      "Generating VG image for PPG signal 378/1538\n",
      "Generating VG image for PPG signal 379/1538\n",
      "Generating VG image for PPG signal 380/1538\n",
      "Generating VG image for PPG signal 381/1538\n",
      "Generating VG image for PPG signal 382/1538\n",
      "Generating VG image for PPG signal 383/1538\n",
      "Generating VG image for PPG signal 384/1538\n",
      "Generating VG image for PPG signal 385/1538\n",
      "Generating VG image for PPG signal 386/1538\n",
      "Generating VG image for PPG signal 387/1538\n",
      "Generating VG image for PPG signal 388/1538\n",
      "Generating VG image for PPG signal 389/1538\n",
      "Generating VG image for PPG signal 390/1538\n",
      "Generating VG image for PPG signal 391/1538\n",
      "Generating VG image for PPG signal 392/1538\n",
      "Generating VG image for PPG signal 393/1538\n",
      "Generating VG image for PPG signal 394/1538\n",
      "Generating VG image for PPG signal 395/1538\n",
      "Generating VG image for PPG signal 396/1538\n",
      "Generating VG image for PPG signal 397/1538\n",
      "Generating VG image for PPG signal 398/1538\n",
      "Generating VG image for PPG signal 399/1538\n",
      "Generating VG image for PPG signal 400/1538\n",
      "Generating VG image for PPG signal 401/1538\n",
      "Generating VG image for PPG signal 402/1538\n",
      "Generating VG image for PPG signal 403/1538\n",
      "Generating VG image for PPG signal 404/1538\n",
      "Generating VG image for PPG signal 405/1538\n",
      "Generating VG image for PPG signal 406/1538\n",
      "Generating VG image for PPG signal 407/1538\n",
      "Generating VG image for PPG signal 408/1538\n",
      "Generating VG image for PPG signal 409/1538\n",
      "Generating VG image for PPG signal 410/1538\n",
      "Generating VG image for PPG signal 411/1538\n",
      "Generating VG image for PPG signal 412/1538\n",
      "Generating VG image for PPG signal 413/1538\n",
      "Generating VG image for PPG signal 414/1538\n",
      "Generating VG image for PPG signal 415/1538\n",
      "Generating VG image for PPG signal 416/1538\n",
      "Generating VG image for PPG signal 417/1538\n",
      "Generating VG image for PPG signal 418/1538\n",
      "Generating VG image for PPG signal 419/1538\n",
      "Generating VG image for PPG signal 420/1538\n",
      "Generating VG image for PPG signal 421/1538\n",
      "Generating VG image for PPG signal 422/1538\n",
      "Generating VG image for PPG signal 423/1538\n",
      "Generating VG image for PPG signal 424/1538\n",
      "Generating VG image for PPG signal 425/1538\n",
      "Generating VG image for PPG signal 426/1538\n",
      "Generating VG image for PPG signal 427/1538\n",
      "Generating VG image for PPG signal 428/1538\n",
      "Generating VG image for PPG signal 429/1538\n",
      "Generating VG image for PPG signal 430/1538\n",
      "Generating VG image for PPG signal 431/1538\n",
      "Generating VG image for PPG signal 432/1538\n",
      "Generating VG image for PPG signal 433/1538\n",
      "Generating VG image for PPG signal 434/1538\n",
      "Generating VG image for PPG signal 435/1538\n",
      "Generating VG image for PPG signal 436/1538\n",
      "Generating VG image for PPG signal 437/1538\n",
      "Generating VG image for PPG signal 438/1538\n",
      "Generating VG image for PPG signal 439/1538\n",
      "Generating VG image for PPG signal 440/1538\n",
      "Generating VG image for PPG signal 441/1538\n",
      "Generating VG image for PPG signal 442/1538\n",
      "Generating VG image for PPG signal 443/1538\n",
      "Generating VG image for PPG signal 444/1538\n",
      "Generating VG image for PPG signal 445/1538\n",
      "Generating VG image for PPG signal 446/1538\n",
      "Generating VG image for PPG signal 447/1538\n",
      "Generating VG image for PPG signal 448/1538\n",
      "Generating VG image for PPG signal 449/1538\n",
      "Generating VG image for PPG signal 450/1538\n",
      "Generating VG image for PPG signal 451/1538\n",
      "Generating VG image for PPG signal 452/1538\n",
      "Generating VG image for PPG signal 453/1538\n",
      "Generating VG image for PPG signal 454/1538\n",
      "Generating VG image for PPG signal 455/1538\n",
      "Generating VG image for PPG signal 456/1538\n",
      "Generating VG image for PPG signal 457/1538\n",
      "Generating VG image for PPG signal 458/1538\n",
      "Generating VG image for PPG signal 459/1538\n",
      "Generating VG image for PPG signal 460/1538\n",
      "Generating VG image for PPG signal 461/1538\n",
      "Generating VG image for PPG signal 462/1538\n",
      "Generating VG image for PPG signal 463/1538\n",
      "Generating VG image for PPG signal 464/1538\n",
      "Generating VG image for PPG signal 465/1538\n",
      "Generating VG image for PPG signal 466/1538\n",
      "Generating VG image for PPG signal 467/1538\n",
      "Generating VG image for PPG signal 468/1538\n",
      "Generating VG image for PPG signal 469/1538\n",
      "Generating VG image for PPG signal 470/1538\n",
      "Generating VG image for PPG signal 471/1538\n",
      "Generating VG image for PPG signal 472/1538\n",
      "Generating VG image for PPG signal 473/1538\n",
      "Generating VG image for PPG signal 474/1538\n",
      "Generating VG image for PPG signal 475/1538\n",
      "Generating VG image for PPG signal 476/1538\n",
      "Generating VG image for PPG signal 477/1538\n",
      "Generating VG image for PPG signal 478/1538\n",
      "Generating VG image for PPG signal 479/1538\n",
      "Generating VG image for PPG signal 480/1538\n",
      "Generating VG image for PPG signal 481/1538\n",
      "Generating VG image for PPG signal 482/1538\n",
      "Generating VG image for PPG signal 483/1538\n",
      "Generating VG image for PPG signal 484/1538\n",
      "Generating VG image for PPG signal 485/1538\n",
      "Generating VG image for PPG signal 486/1538\n",
      "Generating VG image for PPG signal 487/1538\n",
      "Generating VG image for PPG signal 488/1538\n",
      "Generating VG image for PPG signal 489/1538\n",
      "Generating VG image for PPG signal 490/1538\n",
      "Generating VG image for PPG signal 491/1538\n",
      "Generating VG image for PPG signal 492/1538\n",
      "Generating VG image for PPG signal 493/1538\n",
      "Generating VG image for PPG signal 494/1538\n",
      "Generating VG image for PPG signal 495/1538\n",
      "Generating VG image for PPG signal 496/1538\n",
      "Generating VG image for PPG signal 497/1538\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 498/1538\n",
      "Generating VG image for PPG signal 499/1538\n",
      "Generating VG image for PPG signal 500/1538\n",
      "Generating VG image for PPG signal 501/1538\n",
      "Generating VG image for PPG signal 502/1538\n",
      "Generating VG image for PPG signal 503/1538\n",
      "Generating VG image for PPG signal 504/1538\n",
      "Generating VG image for PPG signal 505/1538\n",
      "Generating VG image for PPG signal 506/1538\n",
      "Generating VG image for PPG signal 507/1538\n",
      "Generating VG image for PPG signal 508/1538\n",
      "Generating VG image for PPG signal 509/1538\n",
      "Generating VG image for PPG signal 510/1538\n",
      "Generating VG image for PPG signal 511/1538\n",
      "Generating VG image for PPG signal 512/1538\n",
      "Generating VG image for PPG signal 513/1538\n",
      "Generating VG image for PPG signal 514/1538\n",
      "Generating VG image for PPG signal 515/1538\n",
      "Generating VG image for PPG signal 516/1538\n",
      "Generating VG image for PPG signal 517/1538\n",
      "Generating VG image for PPG signal 518/1538\n",
      "Generating VG image for PPG signal 519/1538\n",
      "Generating VG image for PPG signal 520/1538\n",
      "Generating VG image for PPG signal 521/1538\n",
      "Generating VG image for PPG signal 522/1538\n",
      "Generating VG image for PPG signal 523/1538\n",
      "Generating VG image for PPG signal 524/1538\n",
      "Generating VG image for PPG signal 525/1538\n",
      "Generating VG image for PPG signal 526/1538\n",
      "Generating VG image for PPG signal 527/1538\n",
      "Generating VG image for PPG signal 528/1538\n",
      "Generating VG image for PPG signal 529/1538\n",
      "Generating VG image for PPG signal 530/1538\n",
      "Generating VG image for PPG signal 531/1538\n",
      "Generating VG image for PPG signal 532/1538\n",
      "Generating VG image for PPG signal 533/1538\n",
      "Generating VG image for PPG signal 534/1538\n",
      "Generating VG image for PPG signal 535/1538\n",
      "Generating VG image for PPG signal 536/1538\n",
      "Generating VG image for PPG signal 537/1538\n",
      "Generating VG image for PPG signal 538/1538\n",
      "Generating VG image for PPG signal 539/1538\n",
      "Generating VG image for PPG signal 540/1538\n",
      "Generating VG image for PPG signal 541/1538\n",
      "Generating VG image for PPG signal 542/1538\n",
      "Generating VG image for PPG signal 543/1538\n",
      "Generating VG image for PPG signal 544/1538\n",
      "Generating VG image for PPG signal 545/1538\n",
      "Generating VG image for PPG signal 546/1538\n",
      "Generating VG image for PPG signal 547/1538\n",
      "Generating VG image for PPG signal 548/1538\n",
      "Generating VG image for PPG signal 549/1538\n",
      "Generating VG image for PPG signal 550/1538\n",
      "Generating VG image for PPG signal 551/1538\n",
      "Generating VG image for PPG signal 552/1538\n",
      "Generating VG image for PPG signal 553/1538\n",
      "Generating VG image for PPG signal 554/1538\n",
      "Generating VG image for PPG signal 555/1538\n",
      "Generating VG image for PPG signal 556/1538\n",
      "Generating VG image for PPG signal 557/1538\n",
      "Generating VG image for PPG signal 558/1538\n",
      "Generating VG image for PPG signal 559/1538\n",
      "Generating VG image for PPG signal 560/1538\n",
      "Generating VG image for PPG signal 561/1538\n",
      "Generating VG image for PPG signal 562/1538\n",
      "Generating VG image for PPG signal 563/1538\n",
      "Generating VG image for PPG signal 564/1538\n",
      "Generating VG image for PPG signal 565/1538\n",
      "Generating VG image for PPG signal 566/1538\n",
      "Generating VG image for PPG signal 567/1538\n",
      "Generating VG image for PPG signal 568/1538\n",
      "Generating VG image for PPG signal 569/1538\n",
      "Generating VG image for PPG signal 570/1538\n",
      "Generating VG image for PPG signal 571/1538\n",
      "Generating VG image for PPG signal 572/1538\n",
      "Generating VG image for PPG signal 573/1538\n",
      "Generating VG image for PPG signal 574/1538\n",
      "Generating VG image for PPG signal 575/1538\n",
      "Generating VG image for PPG signal 576/1538\n",
      "Generating VG image for PPG signal 577/1538\n",
      "Generating VG image for PPG signal 578/1538\n",
      "Generating VG image for PPG signal 579/1538\n",
      "Generating VG image for PPG signal 580/1538\n",
      "Generating VG image for PPG signal 581/1538\n",
      "Generating VG image for PPG signal 582/1538\n",
      "Generating VG image for PPG signal 583/1538\n",
      "Generating VG image for PPG signal 584/1538\n",
      "Generating VG image for PPG signal 585/1538\n",
      "Generating VG image for PPG signal 586/1538\n",
      "Generating VG image for PPG signal 587/1538\n",
      "Generating VG image for PPG signal 588/1538\n",
      "Generating VG image for PPG signal 589/1538\n",
      "Generating VG image for PPG signal 590/1538\n",
      "Generating VG image for PPG signal 591/1538\n",
      "Generating VG image for PPG signal 592/1538\n",
      "Generating VG image for PPG signal 593/1538\n",
      "Generating VG image for PPG signal 594/1538\n",
      "Generating VG image for PPG signal 595/1538\n",
      "Generating VG image for PPG signal 596/1538\n",
      "Generating VG image for PPG signal 597/1538\n",
      "Generating VG image for PPG signal 598/1538\n",
      "Generating VG image for PPG signal 599/1538\n",
      "Generating VG image for PPG signal 600/1538\n",
      "Generating VG image for PPG signal 601/1538\n",
      "Generating VG image for PPG signal 602/1538\n",
      "Generating VG image for PPG signal 603/1538\n",
      "Generating VG image for PPG signal 604/1538\n",
      "Generating VG image for PPG signal 605/1538\n",
      "Generating VG image for PPG signal 606/1538\n",
      "Generating VG image for PPG signal 607/1538\n",
      "Generating VG image for PPG signal 608/1538\n",
      "Generating VG image for PPG signal 609/1538\n",
      "Generating VG image for PPG signal 610/1538\n",
      "Generating VG image for PPG signal 611/1538\n",
      "Generating VG image for PPG signal 612/1538\n",
      "Generating VG image for PPG signal 613/1538\n",
      "Generating VG image for PPG signal 614/1538\n",
      "Generating VG image for PPG signal 615/1538\n",
      "Generating VG image for PPG signal 616/1538\n",
      "Generating VG image for PPG signal 617/1538\n",
      "Generating VG image for PPG signal 618/1538\n",
      "Generating VG image for PPG signal 619/1538\n",
      "Generating VG image for PPG signal 620/1538\n",
      "Generating VG image for PPG signal 621/1538\n",
      "Generating VG image for PPG signal 622/1538\n",
      "Generating VG image for PPG signal 623/1538\n",
      "Generating VG image for PPG signal 624/1538\n",
      "Generating VG image for PPG signal 625/1538\n",
      "Generating VG image for PPG signal 626/1538\n",
      "Generating VG image for PPG signal 627/1538\n",
      "Generating VG image for PPG signal 628/1538\n",
      "Generating VG image for PPG signal 629/1538\n",
      "Generating VG image for PPG signal 630/1538\n",
      "Generating VG image for PPG signal 631/1538\n",
      "Generating VG image for PPG signal 632/1538\n",
      "Generating VG image for PPG signal 633/1538\n",
      "Generating VG image for PPG signal 634/1538\n",
      "Generating VG image for PPG signal 635/1538\n",
      "Generating VG image for PPG signal 636/1538\n",
      "Generating VG image for PPG signal 637/1538\n",
      "Generating VG image for PPG signal 638/1538\n",
      "Generating VG image for PPG signal 639/1538\n",
      "Generating VG image for PPG signal 640/1538\n",
      "Generating VG image for PPG signal 641/1538\n",
      "Generating VG image for PPG signal 642/1538\n",
      "Generating VG image for PPG signal 643/1538\n",
      "Generating VG image for PPG signal 644/1538\n",
      "Generating VG image for PPG signal 645/1538\n",
      "Generating VG image for PPG signal 646/1538\n",
      "Generating VG image for PPG signal 647/1538\n",
      "Generating VG image for PPG signal 648/1538\n",
      "Generating VG image for PPG signal 649/1538\n",
      "Generating VG image for PPG signal 650/1538\n",
      "Generating VG image for PPG signal 651/1538\n",
      "Generating VG image for PPG signal 652/1538\n",
      "Generating VG image for PPG signal 653/1538\n",
      "Generating VG image for PPG signal 654/1538\n",
      "Generating VG image for PPG signal 655/1538\n",
      "Generating VG image for PPG signal 656/1538\n",
      "Generating VG image for PPG signal 657/1538\n",
      "Generating VG image for PPG signal 658/1538\n",
      "Generating VG image for PPG signal 659/1538\n",
      "Generating VG image for PPG signal 660/1538\n",
      "Generating VG image for PPG signal 661/1538\n",
      "Generating VG image for PPG signal 662/1538\n",
      "Generating VG image for PPG signal 663/1538\n",
      "Generating VG image for PPG signal 664/1538\n",
      "Generating VG image for PPG signal 665/1538\n",
      "Generating VG image for PPG signal 666/1538\n",
      "Generating VG image for PPG signal 667/1538\n",
      "Generating VG image for PPG signal 668/1538\n",
      "Generating VG image for PPG signal 669/1538\n",
      "Generating VG image for PPG signal 670/1538\n",
      "Generating VG image for PPG signal 671/1538\n",
      "Generating VG image for PPG signal 672/1538\n",
      "Generating VG image for PPG signal 673/1538\n",
      "Generating VG image for PPG signal 674/1538\n",
      "Generating VG image for PPG signal 675/1538\n",
      "Generating VG image for PPG signal 676/1538\n",
      "Generating VG image for PPG signal 677/1538\n",
      "Generating VG image for PPG signal 678/1538\n",
      "Generating VG image for PPG signal 679/1538\n",
      "Generating VG image for PPG signal 680/1538\n",
      "Generating VG image for PPG signal 681/1538\n",
      "Generating VG image for PPG signal 682/1538\n",
      "Generating VG image for PPG signal 683/1538\n",
      "Generating VG image for PPG signal 684/1538\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 685/1538\n",
      "Generating VG image for PPG signal 686/1538\n",
      "Generating VG image for PPG signal 687/1538\n",
      "Generating VG image for PPG signal 688/1538\n",
      "Generating VG image for PPG signal 689/1538\n",
      "Generating VG image for PPG signal 690/1538\n",
      "Generating VG image for PPG signal 691/1538\n",
      "Generating VG image for PPG signal 692/1538\n",
      "Generating VG image for PPG signal 693/1538\n",
      "Generating VG image for PPG signal 694/1538\n",
      "Generating VG image for PPG signal 695/1538\n",
      "Generating VG image for PPG signal 696/1538\n",
      "Generating VG image for PPG signal 697/1538\n",
      "Generating VG image for PPG signal 698/1538\n",
      "Generating VG image for PPG signal 699/1538\n",
      "Generating VG image for PPG signal 700/1538\n",
      "Generating VG image for PPG signal 701/1538\n",
      "Generating VG image for PPG signal 702/1538\n",
      "Generating VG image for PPG signal 703/1538\n",
      "Generating VG image for PPG signal 704/1538\n",
      "Generating VG image for PPG signal 705/1538\n",
      "Generating VG image for PPG signal 706/1538\n",
      "Generating VG image for PPG signal 707/1538\n",
      "Generating VG image for PPG signal 708/1538\n",
      "Generating VG image for PPG signal 709/1538\n",
      "Generating VG image for PPG signal 710/1538\n",
      "Generating VG image for PPG signal 711/1538\n",
      "Generating VG image for PPG signal 712/1538\n",
      "Generating VG image for PPG signal 713/1538\n",
      "Generating VG image for PPG signal 714/1538\n",
      "Generating VG image for PPG signal 715/1538\n",
      "Generating VG image for PPG signal 716/1538\n",
      "Generating VG image for PPG signal 717/1538\n",
      "Generating VG image for PPG signal 718/1538\n",
      "Generating VG image for PPG signal 719/1538\n",
      "Generating VG image for PPG signal 720/1538\n",
      "Generating VG image for PPG signal 721/1538\n",
      "Generating VG image for PPG signal 722/1538\n",
      "Generating VG image for PPG signal 723/1538\n",
      "Generating VG image for PPG signal 724/1538\n",
      "Generating VG image for PPG signal 725/1538\n",
      "Generating VG image for PPG signal 726/1538\n",
      "Generating VG image for PPG signal 727/1538\n",
      "Generating VG image for PPG signal 728/1538\n",
      "Generating VG image for PPG signal 729/1538\n",
      "Generating VG image for PPG signal 730/1538\n",
      "Generating VG image for PPG signal 731/1538\n",
      "Generating VG image for PPG signal 732/1538\n",
      "Generating VG image for PPG signal 733/1538\n",
      "Generating VG image for PPG signal 734/1538\n",
      "Generating VG image for PPG signal 735/1538\n",
      "Generating VG image for PPG signal 736/1538\n",
      "Generating VG image for PPG signal 737/1538\n",
      "Generating VG image for PPG signal 738/1538\n",
      "Generating VG image for PPG signal 739/1538\n",
      "Generating VG image for PPG signal 740/1538\n",
      "Generating VG image for PPG signal 741/1538\n",
      "Generating VG image for PPG signal 742/1538\n",
      "Generating VG image for PPG signal 743/1538\n",
      "Generating VG image for PPG signal 744/1538\n",
      "Generating VG image for PPG signal 745/1538\n",
      "Generating VG image for PPG signal 746/1538\n",
      "Generating VG image for PPG signal 747/1538\n",
      "Generating VG image for PPG signal 748/1538\n",
      "Generating VG image for PPG signal 749/1538\n",
      "Generating VG image for PPG signal 750/1538\n",
      "Generating VG image for PPG signal 751/1538\n",
      "Generating VG image for PPG signal 752/1538\n",
      "Generating VG image for PPG signal 753/1538\n",
      "Generating VG image for PPG signal 754/1538\n",
      "Generating VG image for PPG signal 755/1538\n",
      "Generating VG image for PPG signal 756/1538\n",
      "Generating VG image for PPG signal 757/1538\n",
      "Generating VG image for PPG signal 758/1538\n",
      "Generating VG image for PPG signal 759/1538\n",
      "Generating VG image for PPG signal 760/1538\n",
      "Generating VG image for PPG signal 761/1538\n",
      "Generating VG image for PPG signal 762/1538\n",
      "Generating VG image for PPG signal 763/1538\n",
      "Generating VG image for PPG signal 764/1538\n",
      "Generating VG image for PPG signal 765/1538\n",
      "Generating VG image for PPG signal 766/1538\n",
      "Generating VG image for PPG signal 767/1538\n",
      "Generating VG image for PPG signal 768/1538\n",
      "Generating VG image for PPG signal 769/1538\n",
      "Generating VG image for PPG signal 770/1538\n",
      "Generating VG image for PPG signal 771/1538\n",
      "Generating VG image for PPG signal 772/1538\n",
      "Generating VG image for PPG signal 773/1538\n",
      "Generating VG image for PPG signal 774/1538\n",
      "Generating VG image for PPG signal 775/1538\n",
      "Generating VG image for PPG signal 776/1538\n",
      "Generating VG image for PPG signal 777/1538\n",
      "Generating VG image for PPG signal 778/1538\n",
      "Generating VG image for PPG signal 779/1538\n",
      "Generating VG image for PPG signal 780/1538\n",
      "Generating VG image for PPG signal 781/1538\n",
      "Generating VG image for PPG signal 782/1538\n",
      "Generating VG image for PPG signal 783/1538\n",
      "Generating VG image for PPG signal 784/1538\n",
      "Generating VG image for PPG signal 785/1538\n",
      "Generating VG image for PPG signal 786/1538\n",
      "Generating VG image for PPG signal 787/1538\n",
      "Generating VG image for PPG signal 788/1538\n",
      "Generating VG image for PPG signal 789/1538\n",
      "Generating VG image for PPG signal 790/1538\n",
      "Generating VG image for PPG signal 791/1538\n",
      "Generating VG image for PPG signal 792/1538\n",
      "Generating VG image for PPG signal 793/1538\n",
      "Generating VG image for PPG signal 794/1538\n",
      "Generating VG image for PPG signal 795/1538\n",
      "Generating VG image for PPG signal 796/1538\n",
      "Generating VG image for PPG signal 797/1538\n",
      "Generating VG image for PPG signal 798/1538\n",
      "Generating VG image for PPG signal 799/1538\n",
      "Generating VG image for PPG signal 800/1538\n",
      "Generating VG image for PPG signal 801/1538\n",
      "Generating VG image for PPG signal 802/1538\n",
      "Generating VG image for PPG signal 803/1538\n",
      "Generating VG image for PPG signal 804/1538\n",
      "Generating VG image for PPG signal 805/1538\n",
      "Generating VG image for PPG signal 806/1538\n",
      "Generating VG image for PPG signal 807/1538\n",
      "Generating VG image for PPG signal 808/1538\n",
      "Generating VG image for PPG signal 809/1538\n",
      "Generating VG image for PPG signal 810/1538\n",
      "Generating VG image for PPG signal 811/1538\n",
      "Generating VG image for PPG signal 812/1538\n",
      "Generating VG image for PPG signal 813/1538\n",
      "Generating VG image for PPG signal 814/1538\n",
      "Generating VG image for PPG signal 815/1538\n",
      "Generating VG image for PPG signal 816/1538\n",
      "Generating VG image for PPG signal 817/1538\n",
      "Generating VG image for PPG signal 818/1538\n",
      "Generating VG image for PPG signal 819/1538\n",
      "Generating VG image for PPG signal 820/1538\n",
      "Generating VG image for PPG signal 821/1538\n",
      "Generating VG image for PPG signal 822/1538\n",
      "Generating VG image for PPG signal 823/1538\n",
      "Generating VG image for PPG signal 824/1538\n",
      "Generating VG image for PPG signal 825/1538\n",
      "Generating VG image for PPG signal 826/1538\n",
      "Generating VG image for PPG signal 827/1538\n",
      "Generating VG image for PPG signal 828/1538\n",
      "Generating VG image for PPG signal 829/1538\n",
      "Generating VG image for PPG signal 830/1538\n",
      "Generating VG image for PPG signal 831/1538\n",
      "Generating VG image for PPG signal 832/1538\n",
      "Generating VG image for PPG signal 833/1538\n",
      "Generating VG image for PPG signal 834/1538\n",
      "Generating VG image for PPG signal 835/1538\n",
      "Generating VG image for PPG signal 836/1538\n",
      "Generating VG image for PPG signal 837/1538\n",
      "Generating VG image for PPG signal 838/1538\n",
      "Generating VG image for PPG signal 839/1538\n",
      "Generating VG image for PPG signal 840/1538\n",
      "Generating VG image for PPG signal 841/1538\n",
      "Generating VG image for PPG signal 842/1538\n",
      "Generating VG image for PPG signal 843/1538\n",
      "Generating VG image for PPG signal 844/1538\n",
      "Generating VG image for PPG signal 845/1538\n",
      "Generating VG image for PPG signal 846/1538\n",
      "Generating VG image for PPG signal 847/1538\n",
      "Generating VG image for PPG signal 848/1538\n",
      "Generating VG image for PPG signal 849/1538\n",
      "Generating VG image for PPG signal 850/1538\n",
      "Generating VG image for PPG signal 851/1538\n",
      "Generating VG image for PPG signal 852/1538\n",
      "Generating VG image for PPG signal 853/1538\n",
      "Generating VG image for PPG signal 854/1538\n",
      "Generating VG image for PPG signal 855/1538\n",
      "Generating VG image for PPG signal 856/1538\n",
      "Generating VG image for PPG signal 857/1538\n",
      "Generating VG image for PPG signal 858/1538\n",
      "Generating VG image for PPG signal 859/1538\n",
      "Generating VG image for PPG signal 860/1538\n",
      "Generating VG image for PPG signal 861/1538\n",
      "Generating VG image for PPG signal 862/1538\n",
      "Generating VG image for PPG signal 863/1538\n",
      "Generating VG image for PPG signal 864/1538\n",
      "Generating VG image for PPG signal 865/1538\n",
      "Generating VG image for PPG signal 866/1538\n",
      "Generating VG image for PPG signal 867/1538\n",
      "Generating VG image for PPG signal 868/1538\n",
      "Generating VG image for PPG signal 869/1538\n",
      "Generating VG image for PPG signal 870/1538\n",
      "Generating VG image for PPG signal 871/1538\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 872/1538\n",
      "Generating VG image for PPG signal 873/1538\n",
      "Generating VG image for PPG signal 874/1538\n",
      "Generating VG image for PPG signal 875/1538\n",
      "Generating VG image for PPG signal 876/1538\n",
      "Generating VG image for PPG signal 877/1538\n",
      "Generating VG image for PPG signal 878/1538\n",
      "Generating VG image for PPG signal 879/1538\n",
      "Generating VG image for PPG signal 880/1538\n",
      "Generating VG image for PPG signal 881/1538\n",
      "Generating VG image for PPG signal 882/1538\n",
      "Generating VG image for PPG signal 883/1538\n",
      "Generating VG image for PPG signal 884/1538\n",
      "Generating VG image for PPG signal 885/1538\n",
      "Generating VG image for PPG signal 886/1538\n",
      "Generating VG image for PPG signal 887/1538\n",
      "Generating VG image for PPG signal 888/1538\n",
      "Generating VG image for PPG signal 889/1538\n",
      "Generating VG image for PPG signal 890/1538\n",
      "Generating VG image for PPG signal 891/1538\n",
      "Generating VG image for PPG signal 892/1538\n",
      "Generating VG image for PPG signal 893/1538\n",
      "Generating VG image for PPG signal 894/1538\n",
      "Generating VG image for PPG signal 895/1538\n",
      "Generating VG image for PPG signal 896/1538\n",
      "Generating VG image for PPG signal 897/1538\n",
      "Generating VG image for PPG signal 898/1538\n",
      "Generating VG image for PPG signal 899/1538\n",
      "Generating VG image for PPG signal 900/1538\n",
      "Generating VG image for PPG signal 901/1538\n",
      "Generating VG image for PPG signal 902/1538\n",
      "Generating VG image for PPG signal 903/1538\n",
      "Generating VG image for PPG signal 904/1538\n",
      "Generating VG image for PPG signal 905/1538\n",
      "Generating VG image for PPG signal 906/1538\n",
      "Generating VG image for PPG signal 907/1538\n",
      "Generating VG image for PPG signal 908/1538\n",
      "Generating VG image for PPG signal 909/1538\n",
      "Generating VG image for PPG signal 910/1538\n",
      "Generating VG image for PPG signal 911/1538\n",
      "Generating VG image for PPG signal 912/1538\n",
      "Generating VG image for PPG signal 913/1538\n",
      "Generating VG image for PPG signal 914/1538\n",
      "Generating VG image for PPG signal 915/1538\n",
      "Generating VG image for PPG signal 916/1538\n",
      "Generating VG image for PPG signal 917/1538\n",
      "Generating VG image for PPG signal 918/1538\n",
      "Generating VG image for PPG signal 919/1538\n",
      "Generating VG image for PPG signal 920/1538\n",
      "Generating VG image for PPG signal 921/1538\n",
      "Generating VG image for PPG signal 922/1538\n",
      "Generating VG image for PPG signal 923/1538\n",
      "Generating VG image for PPG signal 924/1538\n",
      "Generating VG image for PPG signal 925/1538\n",
      "Generating VG image for PPG signal 926/1538\n",
      "Generating VG image for PPG signal 927/1538\n",
      "Generating VG image for PPG signal 928/1538\n",
      "Generating VG image for PPG signal 929/1538\n",
      "Generating VG image for PPG signal 930/1538\n",
      "Generating VG image for PPG signal 931/1538\n",
      "Generating VG image for PPG signal 932/1538\n",
      "Generating VG image for PPG signal 933/1538\n",
      "Generating VG image for PPG signal 934/1538\n",
      "Generating VG image for PPG signal 935/1538\n",
      "Generating VG image for PPG signal 936/1538\n",
      "Generating VG image for PPG signal 937/1538\n",
      "Generating VG image for PPG signal 938/1538\n",
      "Generating VG image for PPG signal 939/1538\n",
      "Generating VG image for PPG signal 940/1538\n",
      "Generating VG image for PPG signal 941/1538\n",
      "Generating VG image for PPG signal 942/1538\n",
      "Generating VG image for PPG signal 943/1538\n",
      "Generating VG image for PPG signal 944/1538\n",
      "Generating VG image for PPG signal 945/1538\n",
      "Generating VG image for PPG signal 946/1538\n",
      "Generating VG image for PPG signal 947/1538\n",
      "Generating VG image for PPG signal 948/1538\n",
      "Generating VG image for PPG signal 949/1538\n",
      "Generating VG image for PPG signal 950/1538\n",
      "Generating VG image for PPG signal 951/1538\n",
      "Generating VG image for PPG signal 952/1538\n",
      "Generating VG image for PPG signal 953/1538\n",
      "Generating VG image for PPG signal 954/1538\n",
      "Generating VG image for PPG signal 955/1538\n",
      "Generating VG image for PPG signal 956/1538\n",
      "Generating VG image for PPG signal 957/1538\n",
      "Generating VG image for PPG signal 958/1538\n",
      "Generating VG image for PPG signal 959/1538\n",
      "Generating VG image for PPG signal 960/1538\n",
      "Generating VG image for PPG signal 961/1538\n",
      "Generating VG image for PPG signal 962/1538\n",
      "Generating VG image for PPG signal 963/1538\n",
      "Generating VG image for PPG signal 964/1538\n",
      "Generating VG image for PPG signal 965/1538\n",
      "Generating VG image for PPG signal 966/1538\n",
      "Generating VG image for PPG signal 967/1538\n",
      "Generating VG image for PPG signal 968/1538\n",
      "Generating VG image for PPG signal 969/1538\n",
      "Generating VG image for PPG signal 970/1538\n",
      "Generating VG image for PPG signal 971/1538\n",
      "Generating VG image for PPG signal 972/1538\n",
      "Generating VG image for PPG signal 973/1538\n",
      "Generating VG image for PPG signal 974/1538\n",
      "Generating VG image for PPG signal 975/1538\n",
      "Generating VG image for PPG signal 976/1538\n",
      "Generating VG image for PPG signal 977/1538\n",
      "Generating VG image for PPG signal 978/1538\n",
      "Generating VG image for PPG signal 979/1538\n",
      "Generating VG image for PPG signal 980/1538\n",
      "Generating VG image for PPG signal 981/1538\n",
      "Generating VG image for PPG signal 982/1538\n",
      "Generating VG image for PPG signal 983/1538\n",
      "Generating VG image for PPG signal 984/1538\n",
      "Generating VG image for PPG signal 985/1538\n",
      "Generating VG image for PPG signal 986/1538\n",
      "Generating VG image for PPG signal 987/1538\n",
      "Generating VG image for PPG signal 988/1538\n",
      "Generating VG image for PPG signal 989/1538\n",
      "Generating VG image for PPG signal 990/1538\n",
      "Generating VG image for PPG signal 991/1538\n",
      "Generating VG image for PPG signal 992/1538\n",
      "Generating VG image for PPG signal 993/1538\n",
      "Generating VG image for PPG signal 994/1538\n",
      "Generating VG image for PPG signal 995/1538\n",
      "Generating VG image for PPG signal 996/1538\n",
      "Generating VG image for PPG signal 997/1538\n",
      "Generating VG image for PPG signal 998/1538\n",
      "Generating VG image for PPG signal 999/1538\n",
      "Generating VG image for PPG signal 1000/1538\n",
      "Generating VG image for PPG signal 1001/1538\n",
      "Generating VG image for PPG signal 1002/1538\n",
      "Generating VG image for PPG signal 1003/1538\n",
      "Generating VG image for PPG signal 1004/1538\n",
      "Generating VG image for PPG signal 1005/1538\n",
      "Generating VG image for PPG signal 1006/1538\n",
      "Generating VG image for PPG signal 1007/1538\n",
      "Generating VG image for PPG signal 1008/1538\n",
      "Generating VG image for PPG signal 1009/1538\n",
      "Generating VG image for PPG signal 1010/1538\n",
      "Generating VG image for PPG signal 1011/1538\n",
      "Generating VG image for PPG signal 1012/1538\n",
      "Generating VG image for PPG signal 1013/1538\n",
      "Generating VG image for PPG signal 1014/1538\n",
      "Generating VG image for PPG signal 1015/1538\n",
      "Generating VG image for PPG signal 1016/1538\n",
      "Generating VG image for PPG signal 1017/1538\n",
      "Generating VG image for PPG signal 1018/1538\n",
      "Generating VG image for PPG signal 1019/1538\n",
      "Generating VG image for PPG signal 1020/1538\n",
      "Generating VG image for PPG signal 1021/1538\n",
      "Generating VG image for PPG signal 1022/1538\n",
      "Generating VG image for PPG signal 1023/1538\n",
      "Generating VG image for PPG signal 1024/1538\n",
      "Generating VG image for PPG signal 1025/1538\n",
      "Generating VG image for PPG signal 1026/1538\n",
      "Generating VG image for PPG signal 1027/1538\n",
      "Generating VG image for PPG signal 1028/1538\n",
      "Generating VG image for PPG signal 1029/1538\n",
      "Generating VG image for PPG signal 1030/1538\n",
      "Generating VG image for PPG signal 1031/1538\n",
      "Generating VG image for PPG signal 1032/1538\n",
      "Generating VG image for PPG signal 1033/1538\n",
      "Generating VG image for PPG signal 1034/1538\n",
      "Generating VG image for PPG signal 1035/1538\n",
      "Generating VG image for PPG signal 1036/1538\n",
      "Generating VG image for PPG signal 1037/1538\n",
      "Generating VG image for PPG signal 1038/1538\n",
      "Generating VG image for PPG signal 1039/1538\n",
      "Generating VG image for PPG signal 1040/1538\n",
      "Generating VG image for PPG signal 1041/1538\n",
      "Generating VG image for PPG signal 1042/1538\n",
      "Generating VG image for PPG signal 1043/1538\n",
      "Generating VG image for PPG signal 1044/1538\n",
      "Generating VG image for PPG signal 1045/1538\n",
      "Generating VG image for PPG signal 1046/1538\n",
      "Generating VG image for PPG signal 1047/1538\n",
      "Generating VG image for PPG signal 1048/1538\n",
      "Generating VG image for PPG signal 1049/1538\n",
      "Generating VG image for PPG signal 1050/1538\n",
      "Generating VG image for PPG signal 1051/1538\n",
      "Generating VG image for PPG signal 1052/1538\n",
      "Generating VG image for PPG signal 1053/1538\n",
      "Generating VG image for PPG signal 1054/1538\n",
      "Generating VG image for PPG signal 1055/1538\n",
      "Generating VG image for PPG signal 1056/1538\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 1057/1538\n",
      "Generating VG image for PPG signal 1058/1538\n",
      "Generating VG image for PPG signal 1059/1538\n",
      "Generating VG image for PPG signal 1060/1538\n",
      "Generating VG image for PPG signal 1061/1538\n",
      "Generating VG image for PPG signal 1062/1538\n",
      "Generating VG image for PPG signal 1063/1538\n",
      "Generating VG image for PPG signal 1064/1538\n",
      "Generating VG image for PPG signal 1065/1538\n",
      "Generating VG image for PPG signal 1066/1538\n",
      "Generating VG image for PPG signal 1067/1538\n",
      "Generating VG image for PPG signal 1068/1538\n",
      "Generating VG image for PPG signal 1069/1538\n",
      "Generating VG image for PPG signal 1070/1538\n",
      "Generating VG image for PPG signal 1071/1538\n",
      "Generating VG image for PPG signal 1072/1538\n",
      "Generating VG image for PPG signal 1073/1538\n",
      "Generating VG image for PPG signal 1074/1538\n",
      "Generating VG image for PPG signal 1075/1538\n",
      "Generating VG image for PPG signal 1076/1538\n",
      "Generating VG image for PPG signal 1077/1538\n",
      "Generating VG image for PPG signal 1078/1538\n",
      "Generating VG image for PPG signal 1079/1538\n",
      "Generating VG image for PPG signal 1080/1538\n",
      "Generating VG image for PPG signal 1081/1538\n",
      "Generating VG image for PPG signal 1082/1538\n",
      "Generating VG image for PPG signal 1083/1538\n",
      "Generating VG image for PPG signal 1084/1538\n",
      "Generating VG image for PPG signal 1085/1538\n",
      "Generating VG image for PPG signal 1086/1538\n",
      "Generating VG image for PPG signal 1087/1538\n",
      "Generating VG image for PPG signal 1088/1538\n",
      "Generating VG image for PPG signal 1089/1538\n",
      "Generating VG image for PPG signal 1090/1538\n",
      "Generating VG image for PPG signal 1091/1538\n",
      "Generating VG image for PPG signal 1092/1538\n",
      "Generating VG image for PPG signal 1093/1538\n",
      "Generating VG image for PPG signal 1094/1538\n",
      "Generating VG image for PPG signal 1095/1538\n",
      "Generating VG image for PPG signal 1096/1538\n",
      "Generating VG image for PPG signal 1097/1538\n",
      "Generating VG image for PPG signal 1098/1538\n",
      "Generating VG image for PPG signal 1099/1538\n",
      "Generating VG image for PPG signal 1100/1538\n",
      "Generating VG image for PPG signal 1101/1538\n",
      "Generating VG image for PPG signal 1102/1538\n",
      "Generating VG image for PPG signal 1103/1538\n",
      "Generating VG image for PPG signal 1104/1538\n",
      "Generating VG image for PPG signal 1105/1538\n",
      "Generating VG image for PPG signal 1106/1538\n",
      "Generating VG image for PPG signal 1107/1538\n",
      "Generating VG image for PPG signal 1108/1538\n",
      "Generating VG image for PPG signal 1109/1538\n",
      "Generating VG image for PPG signal 1110/1538\n",
      "Generating VG image for PPG signal 1111/1538\n",
      "Generating VG image for PPG signal 1112/1538\n",
      "Generating VG image for PPG signal 1113/1538\n",
      "Generating VG image for PPG signal 1114/1538\n",
      "Generating VG image for PPG signal 1115/1538\n",
      "Generating VG image for PPG signal 1116/1538\n",
      "Generating VG image for PPG signal 1117/1538\n",
      "Generating VG image for PPG signal 1118/1538\n",
      "Generating VG image for PPG signal 1119/1538\n",
      "Generating VG image for PPG signal 1120/1538\n",
      "Generating VG image for PPG signal 1121/1538\n",
      "Generating VG image for PPG signal 1122/1538\n",
      "Generating VG image for PPG signal 1123/1538\n",
      "Generating VG image for PPG signal 1124/1538\n",
      "Generating VG image for PPG signal 1125/1538\n",
      "Generating VG image for PPG signal 1126/1538\n",
      "Generating VG image for PPG signal 1127/1538\n",
      "Generating VG image for PPG signal 1128/1538\n",
      "Generating VG image for PPG signal 1129/1538\n",
      "Generating VG image for PPG signal 1130/1538\n",
      "Generating VG image for PPG signal 1131/1538\n",
      "Generating VG image for PPG signal 1132/1538\n",
      "Generating VG image for PPG signal 1133/1538\n",
      "Generating VG image for PPG signal 1134/1538\n",
      "Generating VG image for PPG signal 1135/1538\n",
      "Generating VG image for PPG signal 1136/1538\n",
      "Generating VG image for PPG signal 1137/1538\n",
      "Generating VG image for PPG signal 1138/1538\n",
      "Generating VG image for PPG signal 1139/1538\n",
      "Generating VG image for PPG signal 1140/1538\n",
      "Generating VG image for PPG signal 1141/1538\n",
      "Generating VG image for PPG signal 1142/1538\n",
      "Generating VG image for PPG signal 1143/1538\n",
      "Generating VG image for PPG signal 1144/1538\n",
      "Generating VG image for PPG signal 1145/1538\n",
      "Generating VG image for PPG signal 1146/1538\n",
      "Generating VG image for PPG signal 1147/1538\n",
      "Generating VG image for PPG signal 1148/1538\n",
      "Generating VG image for PPG signal 1149/1538\n",
      "Generating VG image for PPG signal 1150/1538\n",
      "Generating VG image for PPG signal 1151/1538\n",
      "Generating VG image for PPG signal 1152/1538\n",
      "Generating VG image for PPG signal 1153/1538\n",
      "Generating VG image for PPG signal 1154/1538\n",
      "Generating VG image for PPG signal 1155/1538\n",
      "Generating VG image for PPG signal 1156/1538\n",
      "Generating VG image for PPG signal 1157/1538\n",
      "Generating VG image for PPG signal 1158/1538\n",
      "Generating VG image for PPG signal 1159/1538\n",
      "Generating VG image for PPG signal 1160/1538\n",
      "Generating VG image for PPG signal 1161/1538\n",
      "Generating VG image for PPG signal 1162/1538\n",
      "Generating VG image for PPG signal 1163/1538\n",
      "Generating VG image for PPG signal 1164/1538\n",
      "Generating VG image for PPG signal 1165/1538\n",
      "Generating VG image for PPG signal 1166/1538\n",
      "Generating VG image for PPG signal 1167/1538\n",
      "Generating VG image for PPG signal 1168/1538\n",
      "Generating VG image for PPG signal 1169/1538\n",
      "Generating VG image for PPG signal 1170/1538\n",
      "Generating VG image for PPG signal 1171/1538\n",
      "Generating VG image for PPG signal 1172/1538\n",
      "Generating VG image for PPG signal 1173/1538\n",
      "Generating VG image for PPG signal 1174/1538\n",
      "Generating VG image for PPG signal 1175/1538\n",
      "Generating VG image for PPG signal 1176/1538\n",
      "Generating VG image for PPG signal 1177/1538\n",
      "Generating VG image for PPG signal 1178/1538\n",
      "Generating VG image for PPG signal 1179/1538\n",
      "Generating VG image for PPG signal 1180/1538\n",
      "Generating VG image for PPG signal 1181/1538\n",
      "Generating VG image for PPG signal 1182/1538\n",
      "Generating VG image for PPG signal 1183/1538\n",
      "Generating VG image for PPG signal 1184/1538\n",
      "Generating VG image for PPG signal 1185/1538\n",
      "Generating VG image for PPG signal 1186/1538\n",
      "Generating VG image for PPG signal 1187/1538\n",
      "Generating VG image for PPG signal 1188/1538\n",
      "Generating VG image for PPG signal 1189/1538\n",
      "Generating VG image for PPG signal 1190/1538\n",
      "Generating VG image for PPG signal 1191/1538\n",
      "Generating VG image for PPG signal 1192/1538\n",
      "Generating VG image for PPG signal 1193/1538\n",
      "Generating VG image for PPG signal 1194/1538\n",
      "Generating VG image for PPG signal 1195/1538\n",
      "Generating VG image for PPG signal 1196/1538\n",
      "Generating VG image for PPG signal 1197/1538\n",
      "Generating VG image for PPG signal 1198/1538\n",
      "Generating VG image for PPG signal 1199/1538\n",
      "Generating VG image for PPG signal 1200/1538\n",
      "Generating VG image for PPG signal 1201/1538\n",
      "Generating VG image for PPG signal 1202/1538\n",
      "Generating VG image for PPG signal 1203/1538\n",
      "Generating VG image for PPG signal 1204/1538\n",
      "Generating VG image for PPG signal 1205/1538\n",
      "Generating VG image for PPG signal 1206/1538\n",
      "Generating VG image for PPG signal 1207/1538\n",
      "Generating VG image for PPG signal 1208/1538\n",
      "Generating VG image for PPG signal 1209/1538\n",
      "Generating VG image for PPG signal 1210/1538\n",
      "Generating VG image for PPG signal 1211/1538\n",
      "Generating VG image for PPG signal 1212/1538\n",
      "Generating VG image for PPG signal 1213/1538\n",
      "Generating VG image for PPG signal 1214/1538\n",
      "Generating VG image for PPG signal 1215/1538\n",
      "Generating VG image for PPG signal 1216/1538\n",
      "Generating VG image for PPG signal 1217/1538\n",
      "Generating VG image for PPG signal 1218/1538\n",
      "Generating VG image for PPG signal 1219/1538\n",
      "Generating VG image for PPG signal 1220/1538\n",
      "Generating VG image for PPG signal 1221/1538\n",
      "Generating VG image for PPG signal 1222/1538\n",
      "Generating VG image for PPG signal 1223/1538\n",
      "Generating VG image for PPG signal 1224/1538\n",
      "Generating VG image for PPG signal 1225/1538\n",
      "Generating VG image for PPG signal 1226/1538\n",
      "Generating VG image for PPG signal 1227/1538\n",
      "Generating VG image for PPG signal 1228/1538\n",
      "Generating VG image for PPG signal 1229/1538\n",
      "Generating VG image for PPG signal 1230/1538\n",
      "Generating VG image for PPG signal 1231/1538\n",
      "Generating VG image for PPG signal 1232/1538\n",
      "Generating VG image for PPG signal 1233/1538\n",
      "Generating VG image for PPG signal 1234/1538\n",
      "Generating VG image for PPG signal 1235/1538\n",
      "Generating VG image for PPG signal 1236/1538\n",
      "Generating VG image for PPG signal 1237/1538\n",
      "Generating VG image for PPG signal 1238/1538\n",
      "Generating VG image for PPG signal 1239/1538\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 1240/1538\n",
      "Generating VG image for PPG signal 1241/1538\n",
      "Generating VG image for PPG signal 1242/1538\n",
      "Generating VG image for PPG signal 1243/1538\n",
      "Generating VG image for PPG signal 1244/1538\n",
      "Generating VG image for PPG signal 1245/1538\n",
      "Generating VG image for PPG signal 1246/1538\n",
      "Generating VG image for PPG signal 1247/1538\n",
      "Generating VG image for PPG signal 1248/1538\n",
      "Generating VG image for PPG signal 1249/1538\n",
      "Generating VG image for PPG signal 1250/1538\n",
      "Generating VG image for PPG signal 1251/1538\n",
      "Generating VG image for PPG signal 1252/1538\n",
      "Generating VG image for PPG signal 1253/1538\n",
      "Generating VG image for PPG signal 1254/1538\n",
      "Generating VG image for PPG signal 1255/1538\n",
      "Generating VG image for PPG signal 1256/1538\n",
      "Generating VG image for PPG signal 1257/1538\n",
      "Generating VG image for PPG signal 1258/1538\n",
      "Generating VG image for PPG signal 1259/1538\n",
      "Generating VG image for PPG signal 1260/1538\n",
      "Generating VG image for PPG signal 1261/1538\n",
      "Generating VG image for PPG signal 1262/1538\n",
      "Generating VG image for PPG signal 1263/1538\n",
      "Generating VG image for PPG signal 1264/1538\n",
      "Generating VG image for PPG signal 1265/1538\n",
      "Generating VG image for PPG signal 1266/1538\n",
      "Generating VG image for PPG signal 1267/1538\n",
      "Generating VG image for PPG signal 1268/1538\n",
      "Generating VG image for PPG signal 1269/1538\n",
      "Generating VG image for PPG signal 1270/1538\n",
      "Generating VG image for PPG signal 1271/1538\n",
      "Generating VG image for PPG signal 1272/1538\n",
      "Generating VG image for PPG signal 1273/1538\n",
      "Generating VG image for PPG signal 1274/1538\n",
      "Generating VG image for PPG signal 1275/1538\n",
      "Generating VG image for PPG signal 1276/1538\n",
      "Generating VG image for PPG signal 1277/1538\n",
      "Generating VG image for PPG signal 1278/1538\n",
      "Generating VG image for PPG signal 1279/1538\n",
      "Generating VG image for PPG signal 1280/1538\n",
      "Generating VG image for PPG signal 1281/1538\n",
      "Generating VG image for PPG signal 1282/1538\n",
      "Generating VG image for PPG signal 1283/1538\n",
      "Generating VG image for PPG signal 1284/1538\n",
      "Generating VG image for PPG signal 1285/1538\n",
      "Generating VG image for PPG signal 1286/1538\n",
      "Generating VG image for PPG signal 1287/1538\n",
      "Generating VG image for PPG signal 1288/1538\n",
      "Generating VG image for PPG signal 1289/1538\n",
      "Generating VG image for PPG signal 1290/1538\n",
      "Generating VG image for PPG signal 1291/1538\n",
      "Generating VG image for PPG signal 1292/1538\n",
      "Generating VG image for PPG signal 1293/1538\n",
      "Generating VG image for PPG signal 1294/1538\n",
      "Generating VG image for PPG signal 1295/1538\n",
      "Generating VG image for PPG signal 1296/1538\n",
      "Generating VG image for PPG signal 1297/1538\n",
      "Generating VG image for PPG signal 1298/1538\n",
      "Generating VG image for PPG signal 1299/1538\n",
      "Generating VG image for PPG signal 1300/1538\n",
      "Generating VG image for PPG signal 1301/1538\n",
      "Generating VG image for PPG signal 1302/1538\n",
      "Generating VG image for PPG signal 1303/1538\n",
      "Generating VG image for PPG signal 1304/1538\n",
      "Generating VG image for PPG signal 1305/1538\n",
      "Generating VG image for PPG signal 1306/1538\n",
      "Generating VG image for PPG signal 1307/1538\n",
      "Generating VG image for PPG signal 1308/1538\n",
      "Generating VG image for PPG signal 1309/1538\n",
      "Generating VG image for PPG signal 1310/1538\n",
      "Generating VG image for PPG signal 1311/1538\n",
      "Generating VG image for PPG signal 1312/1538\n",
      "Generating VG image for PPG signal 1313/1538\n",
      "Generating VG image for PPG signal 1314/1538\n",
      "Generating VG image for PPG signal 1315/1538\n",
      "Generating VG image for PPG signal 1316/1538\n",
      "Generating VG image for PPG signal 1317/1538\n",
      "Generating VG image for PPG signal 1318/1538\n",
      "Generating VG image for PPG signal 1319/1538\n",
      "Generating VG image for PPG signal 1320/1538\n",
      "Generating VG image for PPG signal 1321/1538\n",
      "Generating VG image for PPG signal 1322/1538\n",
      "Generating VG image for PPG signal 1323/1538\n",
      "Generating VG image for PPG signal 1324/1538\n",
      "Generating VG image for PPG signal 1325/1538\n",
      "Generating VG image for PPG signal 1326/1538\n",
      "Generating VG image for PPG signal 1327/1538\n",
      "Generating VG image for PPG signal 1328/1538\n",
      "Generating VG image for PPG signal 1329/1538\n",
      "Generating VG image for PPG signal 1330/1538\n",
      "Generating VG image for PPG signal 1331/1538\n",
      "Generating VG image for PPG signal 1332/1538\n",
      "Generating VG image for PPG signal 1333/1538\n",
      "Generating VG image for PPG signal 1334/1538\n",
      "Generating VG image for PPG signal 1335/1538\n",
      "Generating VG image for PPG signal 1336/1538\n",
      "Generating VG image for PPG signal 1337/1538\n",
      "Generating VG image for PPG signal 1338/1538\n",
      "Generating VG image for PPG signal 1339/1538\n",
      "Generating VG image for PPG signal 1340/1538\n",
      "Generating VG image for PPG signal 1341/1538\n",
      "Generating VG image for PPG signal 1342/1538\n",
      "Generating VG image for PPG signal 1343/1538\n",
      "Generating VG image for PPG signal 1344/1538\n",
      "Generating VG image for PPG signal 1345/1538\n",
      "Generating VG image for PPG signal 1346/1538\n",
      "Generating VG image for PPG signal 1347/1538\n",
      "Generating VG image for PPG signal 1348/1538\n",
      "Generating VG image for PPG signal 1349/1538\n",
      "Generating VG image for PPG signal 1350/1538\n",
      "Generating VG image for PPG signal 1351/1538\n",
      "Generating VG image for PPG signal 1352/1538\n",
      "Generating VG image for PPG signal 1353/1538\n",
      "Generating VG image for PPG signal 1354/1538\n",
      "Generating VG image for PPG signal 1355/1538\n",
      "Generating VG image for PPG signal 1356/1538\n",
      "Generating VG image for PPG signal 1357/1538\n",
      "Generating VG image for PPG signal 1358/1538\n",
      "Generating VG image for PPG signal 1359/1538\n",
      "Generating VG image for PPG signal 1360/1538\n",
      "Generating VG image for PPG signal 1361/1538\n",
      "Generating VG image for PPG signal 1362/1538\n",
      "Generating VG image for PPG signal 1363/1538\n",
      "Generating VG image for PPG signal 1364/1538\n",
      "Generating VG image for PPG signal 1365/1538\n",
      "Generating VG image for PPG signal 1366/1538\n",
      "Generating VG image for PPG signal 1367/1538\n",
      "Generating VG image for PPG signal 1368/1538\n",
      "Generating VG image for PPG signal 1369/1538\n",
      "Generating VG image for PPG signal 1370/1538\n",
      "Generating VG image for PPG signal 1371/1538\n",
      "Generating VG image for PPG signal 1372/1538\n",
      "Generating VG image for PPG signal 1373/1538\n",
      "Generating VG image for PPG signal 1374/1538\n",
      "Generating VG image for PPG signal 1375/1538\n",
      "Generating VG image for PPG signal 1376/1538\n",
      "Generating VG image for PPG signal 1377/1538\n",
      "Generating VG image for PPG signal 1378/1538\n",
      "Generating VG image for PPG signal 1379/1538\n",
      "Generating VG image for PPG signal 1380/1538\n",
      "Generating VG image for PPG signal 1381/1538\n",
      "Generating VG image for PPG signal 1382/1538\n",
      "Generating VG image for PPG signal 1383/1538\n",
      "Generating VG image for PPG signal 1384/1538\n",
      "Generating VG image for PPG signal 1385/1538\n",
      "Generating VG image for PPG signal 1386/1538\n",
      "Generating VG image for PPG signal 1387/1538\n",
      "Generating VG image for PPG signal 1388/1538\n",
      "Generating VG image for PPG signal 1389/1538\n",
      "Generating VG image for PPG signal 1390/1538\n",
      "Generating VG image for PPG signal 1391/1538\n",
      "Generating VG image for PPG signal 1392/1538\n",
      "Generating VG image for PPG signal 1393/1538\n",
      "Generating VG image for PPG signal 1394/1538\n",
      "Generating VG image for PPG signal 1395/1538\n",
      "Generating VG image for PPG signal 1396/1538\n",
      "Generating VG image for PPG signal 1397/1538\n",
      "Generating VG image for PPG signal 1398/1538\n",
      "Generating VG image for PPG signal 1399/1538\n",
      "Generating VG image for PPG signal 1400/1538\n",
      "Generating VG image for PPG signal 1401/1538\n",
      "Generating VG image for PPG signal 1402/1538\n",
      "Generating VG image for PPG signal 1403/1538\n",
      "Generating VG image for PPG signal 1404/1538\n",
      "Generating VG image for PPG signal 1405/1538\n",
      "Generating VG image for PPG signal 1406/1538\n",
      "Generating VG image for PPG signal 1407/1538\n",
      "Generating VG image for PPG signal 1408/1538\n",
      "Generating VG image for PPG signal 1409/1538\n",
      "Generating VG image for PPG signal 1410/1538\n",
      "Generating VG image for PPG signal 1411/1538\n",
      "Generating VG image for PPG signal 1412/1538\n",
      "Generating VG image for PPG signal 1413/1538\n",
      "Generating VG image for PPG signal 1414/1538\n",
      "Generating VG image for PPG signal 1415/1538\n",
      "Generating VG image for PPG signal 1416/1538\n",
      "Generating VG image for PPG signal 1417/1538\n",
      "Generating VG image for PPG signal 1418/1538\n",
      "Generating VG image for PPG signal 1419/1538\n",
      "Generating VG image for PPG signal 1420/1538\n",
      "Generating VG image for PPG signal 1421/1538\n",
      "Generating VG image for PPG signal 1422/1538\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 1423/1538\n",
      "Generating VG image for PPG signal 1424/1538\n",
      "Generating VG image for PPG signal 1425/1538\n",
      "Generating VG image for PPG signal 1426/1538\n",
      "Generating VG image for PPG signal 1427/1538\n",
      "Generating VG image for PPG signal 1428/1538\n",
      "Generating VG image for PPG signal 1429/1538\n",
      "Generating VG image for PPG signal 1430/1538\n",
      "Generating VG image for PPG signal 1431/1538\n",
      "Generating VG image for PPG signal 1432/1538\n",
      "Generating VG image for PPG signal 1433/1538\n",
      "Generating VG image for PPG signal 1434/1538\n",
      "Generating VG image for PPG signal 1435/1538\n",
      "Generating VG image for PPG signal 1436/1538\n",
      "Generating VG image for PPG signal 1437/1538\n",
      "Generating VG image for PPG signal 1438/1538\n",
      "Generating VG image for PPG signal 1439/1538\n",
      "Generating VG image for PPG signal 1440/1538\n",
      "Generating VG image for PPG signal 1441/1538\n",
      "Generating VG image for PPG signal 1442/1538\n",
      "Generating VG image for PPG signal 1443/1538\n",
      "Generating VG image for PPG signal 1444/1538\n",
      "Generating VG image for PPG signal 1445/1538\n",
      "Generating VG image for PPG signal 1446/1538\n",
      "Generating VG image for PPG signal 1447/1538\n",
      "Generating VG image for PPG signal 1448/1538\n",
      "Generating VG image for PPG signal 1449/1538\n",
      "Generating VG image for PPG signal 1450/1538\n",
      "Generating VG image for PPG signal 1451/1538\n",
      "Generating VG image for PPG signal 1452/1538\n",
      "Generating VG image for PPG signal 1453/1538\n",
      "Generating VG image for PPG signal 1454/1538\n",
      "Generating VG image for PPG signal 1455/1538\n",
      "Generating VG image for PPG signal 1456/1538\n",
      "Generating VG image for PPG signal 1457/1538\n",
      "Generating VG image for PPG signal 1458/1538\n",
      "Generating VG image for PPG signal 1459/1538\n",
      "Generating VG image for PPG signal 1460/1538\n",
      "Generating VG image for PPG signal 1461/1538\n",
      "Generating VG image for PPG signal 1462/1538\n",
      "Generating VG image for PPG signal 1463/1538\n",
      "Generating VG image for PPG signal 1464/1538\n",
      "Generating VG image for PPG signal 1465/1538\n",
      "Generating VG image for PPG signal 1466/1538\n",
      "Generating VG image for PPG signal 1467/1538\n",
      "Generating VG image for PPG signal 1468/1538\n",
      "Generating VG image for PPG signal 1469/1538\n",
      "Generating VG image for PPG signal 1470/1538\n",
      "Generating VG image for PPG signal 1471/1538\n",
      "Generating VG image for PPG signal 1472/1538\n",
      "Generating VG image for PPG signal 1473/1538\n",
      "Generating VG image for PPG signal 1474/1538\n",
      "Generating VG image for PPG signal 1475/1538\n",
      "Generating VG image for PPG signal 1476/1538\n",
      "Generating VG image for PPG signal 1477/1538\n",
      "Generating VG image for PPG signal 1478/1538\n",
      "Generating VG image for PPG signal 1479/1538\n",
      "Generating VG image for PPG signal 1480/1538\n",
      "Generating VG image for PPG signal 1481/1538\n",
      "Generating VG image for PPG signal 1482/1538\n",
      "Generating VG image for PPG signal 1483/1538\n",
      "Generating VG image for PPG signal 1484/1538\n",
      "Generating VG image for PPG signal 1485/1538\n",
      "Generating VG image for PPG signal 1486/1538\n",
      "Generating VG image for PPG signal 1487/1538\n",
      "Generating VG image for PPG signal 1488/1538\n",
      "Generating VG image for PPG signal 1489/1538\n",
      "Generating VG image for PPG signal 1490/1538\n",
      "Generating VG image for PPG signal 1491/1538\n",
      "Generating VG image for PPG signal 1492/1538\n",
      "Generating VG image for PPG signal 1493/1538\n",
      "Generating VG image for PPG signal 1494/1538\n",
      "Generating VG image for PPG signal 1495/1538\n",
      "Generating VG image for PPG signal 1496/1538\n",
      "Generating VG image for PPG signal 1497/1538\n",
      "Generating VG image for PPG signal 1498/1538\n",
      "Generating VG image for PPG signal 1499/1538\n",
      "Generating VG image for PPG signal 1500/1538\n",
      "Generating VG image for PPG signal 1501/1538\n",
      "Generating VG image for PPG signal 1502/1538\n",
      "Generating VG image for PPG signal 1503/1538\n",
      "Generating VG image for PPG signal 1504/1538\n",
      "Generating VG image for PPG signal 1505/1538\n",
      "Generating VG image for PPG signal 1506/1538\n",
      "Generating VG image for PPG signal 1507/1538\n",
      "Generating VG image for PPG signal 1508/1538\n",
      "Generating VG image for PPG signal 1509/1538\n",
      "Generating VG image for PPG signal 1510/1538\n",
      "Generating VG image for PPG signal 1511/1538\n",
      "Generating VG image for PPG signal 1512/1538\n",
      "Generating VG image for PPG signal 1513/1538\n",
      "Generating VG image for PPG signal 1514/1538\n",
      "Generating VG image for PPG signal 1515/1538\n",
      "Generating VG image for PPG signal 1516/1538\n",
      "Generating VG image for PPG signal 1517/1538\n",
      "Generating VG image for PPG signal 1518/1538\n",
      "Generating VG image for PPG signal 1519/1538\n",
      "Generating VG image for PPG signal 1520/1538\n",
      "Generating VG image for PPG signal 1521/1538\n",
      "Generating VG image for PPG signal 1522/1538\n",
      "Generating VG image for PPG signal 1523/1538\n",
      "Generating VG image for PPG signal 1524/1538\n",
      "Generating VG image for PPG signal 1525/1538\n",
      "Generating VG image for PPG signal 1526/1538\n",
      "Generating VG image for PPG signal 1527/1538\n",
      "Generating VG image for PPG signal 1528/1538\n",
      "Generating VG image for PPG signal 1529/1538\n",
      "Generating VG image for PPG signal 1530/1538\n",
      "Generating VG image for PPG signal 1531/1538\n",
      "Generating VG image for PPG signal 1532/1538\n",
      "Generating VG image for PPG signal 1533/1538\n",
      "Generating VG image for PPG signal 1534/1538\n",
      "Generating VG image for PPG signal 1535/1538\n",
      "Generating VG image for PPG signal 1536/1538\n",
      "Generating VG image for PPG signal 1537/1538\n",
      "Generating VG image for PPG signal 1538/1538\n",
      "Batch 5 processing complete.\n",
      "Processing Batch 6...\n",
      "Generating VG image for PPG signal 1/1273\n",
      "Generating VG image for PPG signal 2/1273\n",
      "Generating VG image for PPG signal 3/1273\n",
      "Generating VG image for PPG signal 4/1273\n",
      "Generating VG image for PPG signal 5/1273\n",
      "Generating VG image for PPG signal 6/1273\n",
      "Generating VG image for PPG signal 7/1273\n",
      "Generating VG image for PPG signal 8/1273\n",
      "Generating VG image for PPG signal 9/1273\n",
      "Generating VG image for PPG signal 10/1273\n",
      "Generating VG image for PPG signal 11/1273\n",
      "Generating VG image for PPG signal 12/1273\n",
      "Generating VG image for PPG signal 13/1273\n",
      "Generating VG image for PPG signal 14/1273\n",
      "Generating VG image for PPG signal 15/1273\n",
      "Generating VG image for PPG signal 16/1273\n",
      "Generating VG image for PPG signal 17/1273\n",
      "Generating VG image for PPG signal 18/1273\n",
      "Generating VG image for PPG signal 19/1273\n",
      "Generating VG image for PPG signal 20/1273\n",
      "Generating VG image for PPG signal 21/1273\n",
      "Generating VG image for PPG signal 22/1273\n",
      "Generating VG image for PPG signal 23/1273\n",
      "Generating VG image for PPG signal 24/1273\n",
      "Generating VG image for PPG signal 25/1273\n",
      "Generating VG image for PPG signal 26/1273\n",
      "Generating VG image for PPG signal 27/1273\n",
      "Generating VG image for PPG signal 28/1273\n",
      "Generating VG image for PPG signal 29/1273\n",
      "Generating VG image for PPG signal 30/1273\n",
      "Generating VG image for PPG signal 31/1273\n",
      "Generating VG image for PPG signal 32/1273\n",
      "Generating VG image for PPG signal 33/1273\n",
      "Generating VG image for PPG signal 34/1273\n",
      "Generating VG image for PPG signal 35/1273\n",
      "Generating VG image for PPG signal 36/1273\n",
      "Generating VG image for PPG signal 37/1273\n",
      "Generating VG image for PPG signal 38/1273\n",
      "Generating VG image for PPG signal 39/1273\n",
      "Generating VG image for PPG signal 40/1273\n",
      "Generating VG image for PPG signal 41/1273\n",
      "Generating VG image for PPG signal 42/1273\n",
      "Generating VG image for PPG signal 43/1273\n",
      "Generating VG image for PPG signal 44/1273\n",
      "Generating VG image for PPG signal 45/1273\n",
      "Generating VG image for PPG signal 46/1273\n",
      "Generating VG image for PPG signal 47/1273\n",
      "Generating VG image for PPG signal 48/1273\n",
      "Generating VG image for PPG signal 49/1273\n",
      "Generating VG image for PPG signal 50/1273\n",
      "Generating VG image for PPG signal 51/1273\n",
      "Generating VG image for PPG signal 52/1273\n",
      "Generating VG image for PPG signal 53/1273\n",
      "Generating VG image for PPG signal 54/1273\n",
      "Generating VG image for PPG signal 55/1273\n",
      "Generating VG image for PPG signal 56/1273\n",
      "Generating VG image for PPG signal 57/1273\n",
      "Generating VG image for PPG signal 58/1273\n",
      "Generating VG image for PPG signal 59/1273\n",
      "Generating VG image for PPG signal 60/1273\n",
      "Generating VG image for PPG signal 61/1273\n",
      "Generating VG image for PPG signal 62/1273\n",
      "Generating VG image for PPG signal 63/1273\n",
      "Generating VG image for PPG signal 64/1273\n",
      "Generating VG image for PPG signal 65/1273\n",
      "Generating VG image for PPG signal 66/1273\n",
      "Generating VG image for PPG signal 67/1273\n",
      "Generating VG image for PPG signal 68/1273\n",
      "Generating VG image for PPG signal 69/1273\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 70/1273\n",
      "Generating VG image for PPG signal 71/1273\n",
      "Generating VG image for PPG signal 72/1273\n",
      "Generating VG image for PPG signal 73/1273\n",
      "Generating VG image for PPG signal 74/1273\n",
      "Generating VG image for PPG signal 75/1273\n",
      "Generating VG image for PPG signal 76/1273\n",
      "Generating VG image for PPG signal 77/1273\n",
      "Generating VG image for PPG signal 78/1273\n",
      "Generating VG image for PPG signal 79/1273\n",
      "Generating VG image for PPG signal 80/1273\n",
      "Generating VG image for PPG signal 81/1273\n",
      "Generating VG image for PPG signal 82/1273\n",
      "Generating VG image for PPG signal 83/1273\n",
      "Generating VG image for PPG signal 84/1273\n",
      "Generating VG image for PPG signal 85/1273\n",
      "Generating VG image for PPG signal 86/1273\n",
      "Generating VG image for PPG signal 87/1273\n",
      "Generating VG image for PPG signal 88/1273\n",
      "Generating VG image for PPG signal 89/1273\n",
      "Generating VG image for PPG signal 90/1273\n",
      "Generating VG image for PPG signal 91/1273\n",
      "Generating VG image for PPG signal 92/1273\n",
      "Generating VG image for PPG signal 93/1273\n",
      "Generating VG image for PPG signal 94/1273\n",
      "Generating VG image for PPG signal 95/1273\n",
      "Generating VG image for PPG signal 96/1273\n",
      "Generating VG image for PPG signal 97/1273\n",
      "Generating VG image for PPG signal 98/1273\n",
      "Generating VG image for PPG signal 99/1273\n",
      "Generating VG image for PPG signal 100/1273\n",
      "Generating VG image for PPG signal 101/1273\n",
      "Generating VG image for PPG signal 102/1273\n",
      "Generating VG image for PPG signal 103/1273\n",
      "Generating VG image for PPG signal 104/1273\n",
      "Generating VG image for PPG signal 105/1273\n",
      "Generating VG image for PPG signal 106/1273\n",
      "Generating VG image for PPG signal 107/1273\n",
      "Generating VG image for PPG signal 108/1273\n",
      "Generating VG image for PPG signal 109/1273\n",
      "Generating VG image for PPG signal 110/1273\n",
      "Generating VG image for PPG signal 111/1273\n",
      "Generating VG image for PPG signal 112/1273\n",
      "Generating VG image for PPG signal 113/1273\n",
      "Generating VG image for PPG signal 114/1273\n",
      "Generating VG image for PPG signal 115/1273\n",
      "Generating VG image for PPG signal 116/1273\n",
      "Generating VG image for PPG signal 117/1273\n",
      "Generating VG image for PPG signal 118/1273\n",
      "Generating VG image for PPG signal 119/1273\n",
      "Generating VG image for PPG signal 120/1273\n",
      "Generating VG image for PPG signal 121/1273\n",
      "Generating VG image for PPG signal 122/1273\n",
      "Generating VG image for PPG signal 123/1273\n",
      "Generating VG image for PPG signal 124/1273\n",
      "Generating VG image for PPG signal 125/1273\n",
      "Generating VG image for PPG signal 126/1273\n",
      "Generating VG image for PPG signal 127/1273\n",
      "Generating VG image for PPG signal 128/1273\n",
      "Generating VG image for PPG signal 129/1273\n",
      "Generating VG image for PPG signal 130/1273\n",
      "Generating VG image for PPG signal 131/1273\n",
      "Generating VG image for PPG signal 132/1273\n",
      "Generating VG image for PPG signal 133/1273\n",
      "Generating VG image for PPG signal 134/1273\n",
      "Generating VG image for PPG signal 135/1273\n",
      "Generating VG image for PPG signal 136/1273\n",
      "Generating VG image for PPG signal 137/1273\n",
      "Generating VG image for PPG signal 138/1273\n",
      "Generating VG image for PPG signal 139/1273\n",
      "Generating VG image for PPG signal 140/1273\n",
      "Generating VG image for PPG signal 141/1273\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[2], line 20\u001b[0m\n\u001b[0;32m     17\u001b[0m ppg_signal \u001b[38;5;241m=\u001b[39m combined_ppg_batch[i]\u001b[38;5;241m.\u001b[39mflatten()\n\u001b[0;32m     19\u001b[0m \u001b[38;5;66;03m# Generate the VG image for the PPG signal\u001b[39;00m\n\u001b[1;32m---> 20\u001b[0m vg_image \u001b[38;5;241m=\u001b[39m \u001b[43mgenerate_vg_image\u001b[49m\u001b[43m(\u001b[49m\u001b[43mppg_signal\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvg_image_size\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m     21\u001b[0m vg_images\u001b[38;5;241m.\u001b[39mappend(vg_image\u001b[38;5;241m.\u001b[39mflatten())\n\u001b[0;32m     23\u001b[0m \u001b[38;5;66;03m# Generate the inverted VG image\u001b[39;00m\n",
      "Cell \u001b[1;32mIn[1], line 83\u001b[0m, in \u001b[0;36mgenerate_vg_image\u001b[1;34m(ppg_signal, size)\u001b[0m\n\u001b[0;32m     82\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mgenerate_vg_image\u001b[39m(ppg_signal, size):\n\u001b[1;32m---> 83\u001b[0m     G \u001b[38;5;241m=\u001b[39m \u001b[43mcreate_visibility_graph\u001b[49m\u001b[43m(\u001b[49m\u001b[43mppg_signal\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m     84\u001b[0m     vg_image \u001b[38;5;241m=\u001b[39m graph_to_adjacency_matrix_image(G, size)\n\u001b[0;32m     85\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m vg_image\n",
      "Cell \u001b[1;32mIn[1], line 63\u001b[0m, in \u001b[0;36mcreate_visibility_graph\u001b[1;34m(ppg_signal)\u001b[0m\n\u001b[0;32m     61\u001b[0m visible \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m     62\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(i \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m, j):\n\u001b[1;32m---> 63\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m ppg_signal[k] \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m ppg_signal[i] \u001b[38;5;241m+\u001b[39m (ppg_signal[j] \u001b[38;5;241m-\u001b[39m ppg_signal[i]) \u001b[38;5;241m*\u001b[39m (k \u001b[38;5;241m-\u001b[39m i) \u001b[38;5;241m/\u001b[39m (j \u001b[38;5;241m-\u001b[39m i):\n\u001b[0;32m     64\u001b[0m         visible \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[0;32m     65\u001b[0m         \u001b[38;5;28;01mbreak\u001b[39;00m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import os\n",
    "\n",
    "# Create a directory to save VG images if it doesn't exist\n",
    "output_dir = 'vg_images'\n",
    "os.makedirs(output_dir, exist_ok=True)\n",
    "\n",
    "for batch_idx, (combined_ppg_batch, combined_ecg_batch, combined_seg_dbp_batch, combined_seg_sbp_batch) in enumerate(combined_data_generator):\n",
    "    print(f\"Processing Batch {batch_idx + 1}...\")\n",
    "\n",
    "    vg_images = []\n",
    "    inverted_vg_images = []\n",
    "    \n",
    "    for i in range(len(combined_ppg_batch)):\n",
    "        print(f\"Generating VG image for PPG signal {i + 1}/{len(combined_ppg_batch)}\")\n",
    "        \n",
    "        ppg_signal = combined_ppg_batch[i].flatten()\n",
    "        \n",
    "        # Generate the VG image for the PPG signal\n",
    "        vg_image = generate_vg_image(ppg_signal, vg_image_size)\n",
    "        vg_images.append(vg_image.flatten())\n",
    "        \n",
    "        # Generate the inverted VG image\n",
    "        inverted_vg_image = invert_images([vg_image])[0]\n",
    "        inverted_vg_images.append(inverted_vg_image.flatten())\n",
    "\n",
    "    # Save VG images to disk\n",
    "    np.save(os.path.join(output_dir, f'vg_images_batch_{batch_idx + 1}.npy'), vg_images)\n",
    "    np.save(os.path.join(output_dir, f'inverted_vg_images_batch_{batch_idx + 1}.npy'), inverted_vg_images)\n",
    "\n",
    "    print(f\"Batch {batch_idx + 1} processing complete.\")\n",
    "\n",
    "    # Optionally break after the first batch\n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e34c42dd",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "from sklearn.manifold import TSNE\n",
    "from sklearn.decomposition import PCA\n",
    "\n",
    "for batch_idx, (combined_ppg_batch, combined_ecg_batch, combined_seg_dbp_batch, combined_seg_sbp_batch) in enumerate(combined_data_generator):\n",
    "    print(f\"Processing Batch {batch_idx + 1}...\")\n",
    "\n",
    "    # Generate VG images and their inversions\n",
    "    vg_images = []\n",
    "    inverted_vg_images = []\n",
    "    \n",
    "    for i in range(len(combined_ppg_batch)):\n",
    "        print(f\"Generating VG image for PPG signal {i + 1}/{len(combined_ppg_batch)}\")\n",
    "        \n",
    "        ppg_signal = combined_ppg_batch[i].flatten()  # Flatten to 1D if necessary\n",
    "        \n",
    "        # Generate the VG image for the PPG signal\n",
    "        vg_image = generate_vg_image(ppg_signal, vg_image_size)\n",
    "        vg_images.append(vg_image.flatten())\n",
    "        \n",
    "        # Generate the inverted VG image\n",
    "        inverted_vg_image = invert_images([vg_image])[0]\n",
    "        inverted_vg_images.append(inverted_vg_image.flatten())\n",
    "\n",
    "    print(\"Flattening VG images for t-SNE...\")\n",
    "    # Flatten VG images for t-SNE\n",
    "    #flattened_vg_images = [graph_to_flattened_adjacency_matrix(create_visibility_graph(ppg), vg_image_size) for ppg in combined_ppg_batch]\n",
    "    flattened_vg_images = vg_images\n",
    "    print(\"Combining SBP and DBP values...\")\n",
    "    # Combine SBP and DBP as labels\n",
    "    y = np.column_stack((combined_seg_sbp_batch.flatten(), combined_seg_dbp_batch.flatten()))  # Assuming they are single values\n",
    "\n",
    "    print(\"Applying PCA...\")\n",
    "    # Apply PCA\n",
    "    pca = PCA(n_components=3)\n",
    "    X_pca = pca.fit_transform(flattened_vg_images)\n",
    "\n",
    "    print(\"Applying t-SNE...\")\n",
    "    # Apply t-SNE\n",
    "    tsne = TSNE(n_components=3, perplexity=30)\n",
    "    X_tsne = tsne.fit_transform(X_pca)\n",
    "\n",
    "    print(\"Plotting t-SNE results...\")\n",
    "    # Plot t-SNE results\n",
    "    threshold=80\n",
    "    plt.figure(figsize=(12, 8))\n",
    "    plt.scatter(X_tsne[y[:, 0] > threshold, 0], X_tsne[y[:, 0] > threshold, 1], \n",
    "            c='red', marker='o', label='High BP')\n",
    "    plt.scatter(X_tsne[y[:, 0] <= threshold, 0], X_tsne[y[:, 0] <= threshold, 1], \n",
    "            c='blue', marker='x', label='Normal BP')\n",
    "    plt.title('t-SNE Visualization of VG Images for PPG Signals')\n",
    "    plt.xlabel('t-SNE Component 1')\n",
    "    plt.ylabel('t-SNE Component 2')\n",
    "    plt.legend()\n",
    "    plt.show()\n",
    "\n",
    "    print(f\"Batch {batch_idx + 1} processing complete.\")\n",
    "\n",
    "    # Optionally break after the first batch\n",
    "    break  # Remove this line if you want to process all batches"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ce00a82c",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.manifold import TSNE\n",
    "from sklearn.decomposition import PCA\n",
    "\n",
    "vg_image_dir = 'vg_images'\n",
    "\n",
    "# Function to load VG images from a given batch index\n",
    "def load_vg_images(batch_idx):\n",
    "    vg_images_path = os.path.join(vg_image_dir, f'vg_images_batch_{batch_idx}.npy')\n",
    "    inverted_vg_images_path = os.path.join(vg_image_dir, f'inverted_vg_images_batch_{batch_idx}.npy')\n",
    "    \n",
    "    vg_images = np.load(vg_images_path)\n",
    "    inverted_vg_images = np.load(inverted_vg_images_path)\n",
    "    \n",
    "    return vg_images, inverted_vg_images\n",
    "\n",
    "# Example: Load VG images from batch 1\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "for batch_idx, (combined_ppg_batch, combined_ecg_batch, combined_seg_dbp_batch, combined_seg_sbp_batch) in enumerate(combined_data_generator):\n",
    "    print(f\"Processing Batch {batch_idx + 1}...\")\n",
    "\n",
    "    # Generate VG images and their inversions\n",
    "    \n",
    "    vg_images, inverted_vg_images = load_vg_images(batch_idx+1)\n",
    "\n",
    "    print(\"Flattening VG images for t-SNE...\")\n",
    "    # Flatten VG images for t-SNE\n",
    "    #flattened_vg_images = [graph_to_flattened_adjacency_matrix(create_visibility_graph(ppg), vg_image_size) for ppg in combined_ppg_batch]\n",
    "    flattened_vg_images = vg_images\n",
    "    print(\"Combining SBP and DBP values...\")\n",
    "    # Combine SBP and DBP as labels\n",
    "    y = np.column_stack((combined_seg_sbp_batch.flatten(), combined_seg_dbp_batch.flatten()))  # Assuming they are single values\n",
    "\n",
    "    print(\"Applying PCA...\")\n",
    "    # Apply PCA\n",
    "    pca = PCA(n_components=3)\n",
    "    X_pca = pca.fit_transform(flattened_vg_images)\n",
    "\n",
    "    print(\"Applying t-SNE...\")\n",
    "    # Apply t-SNE\n",
    "    tsne = TSNE(n_components=3, perplexity=30)\n",
    "    X_tsne = tsne.fit_transform(X_pca)\n",
    "\n",
    "    print(\"Plotting t-SNE results...\")\n",
    "    # Plot t-SNE results\n",
    "    threshold=80\n",
    "    plt.figure(figsize=(12, 8))\n",
    "    plt.scatter(X_tsne[y[:, 0] > threshold, 0], X_tsne[y[:, 0] > threshold, 1], \n",
    "            c='red', marker='o', label='High BP')\n",
    "    plt.scatter(X_tsne[y[:, 0] <= threshold, 0], X_tsne[y[:, 0] <= threshold, 1], \n",
    "            c='blue', marker='x', label='Normal BP')\n",
    "    plt.title('t-SNE Visualization of VG Images for PPG Signals')\n",
    "    plt.xlabel('t-SNE Component 1')\n",
    "    plt.ylabel('t-SNE Component 2')\n",
    "    plt.legend()\n",
    "    plt.show()\n",
    "\n",
    "    print(f\"Batch {batch_idx + 1} processing complete.\")\n",
    "\n",
    "    # Optionally break after the first batch\n",
    "    break  # Remove this line if you want to process all batches"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "be69a284",
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "from sklearn.manifold import TSNE\n",
    "tsne = TSNE(n_components=3, perplexity=30)\n",
    "X_tsne = tsne.fit_transform(X_pca)\n",
    "threshold=80\n",
    "plt.figure(figsize=(12, 8))\n",
    "\n",
    "# Scatter plot for \"High BP\" (red circles)\n",
    "plt.scatter(X_tsne[y[:, 0] > threshold, 0], X_tsne[y[:, 0] > threshold, 1], \n",
    "            c='red', marker='o', label='High BP')\n",
    "\n",
    "# Scatter plot for \"Normal BP\" (blue crosses)\n",
    "plt.scatter(X_tsne[y[:, 0] <= threshold, 0], X_tsne[y[:, 0] <= threshold, 1], \n",
    "            c='blue', marker='x', label='Normal BP')\n",
    "\n",
    "# Adding title and labels\n",
    "plt.title('t-SNE Visualization of VG Images for PPG Signals')\n",
    "plt.xlabel('t-SNE Component 1')\n",
    "plt.ylabel('t-SNE Component 2')\n",
    "\n",
    "# Adding legend\n",
    "plt.legend()\n",
    "\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "18ad4dc2",
   "metadata": {},
   "source": [
    "# PREDICTION FOR ONE BATCH(RIDGE REGRESSION)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0765969c",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import Ridge\n",
    "\n",
    "# Initialize Ridge Regression model\n",
    "ridge_model = Ridge(alpha=0.1)\n",
    "\n",
    "ridge_model.fit(X_pca,y)\n",
    "\n",
    "ridge_model.predict(X_pca)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7c7f72ce",
   "metadata": {},
   "outputs": [],
   "source": [
    "print(y)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "537a6fd8",
   "metadata": {},
   "source": [
    "# RIDGE REGRESSION FOR COMPLETE DATA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "991550ce",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import Ridge\n",
    "\n",
    "# Initialize Ridge Regression model\n",
    "ridge_model = Ridge(alpha=0.1)\n",
    "\n",
    "# After processing all batches\n",
    "for batch_idx, (combined_ppg_batch, combined_ecg_batch, combined_seg_dbp_batch, combined_seg_sbp_batch) in enumerate(combined_data_generator):\n",
    "    print(f\"Processing Batch {batch_idx + 1}...\")\n",
    "\n",
    "    # Generate VG images for the batch\n",
    "    vg_images_batch = []\n",
    "    for i in range(len(combined_ppg_batch)):\n",
    "        ppg_signal = combined_ppg_batch[i].flatten()\n",
    "        vg_image = generate_vg_image(ppg_signal, vg_image_size)\n",
    "        vg_images_batch.append(vg_image.flatten())\n",
    "\n",
    "    # Fit PCA incrementally\n",
    "    ipca.partial_fit(np.array(vg_images_batch))\n",
    "\n",
    "    # Transform the current batch\n",
    "    X_pca_batch = ipca.transform(np.array(vg_images_batch))\n",
    "\n",
    "    # Prepare the target values (SBP and DBP)\n",
    "    y_batch = np.column_stack((combined_seg_sbp_batch.flatten(), combined_seg_dbp_batch.flatten()))\n",
    "\n",
    "    # Incrementally fit Ridge Regression\n",
    "    ridge_model.partial_fit(X_pca_batch, y_batch)\n",
    "\n",
    "    print(f\"Batch {batch_idx + 1} processing complete.\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c8c7a629",
   "metadata": {},
   "outputs": [],
   "source": [
    "predictions = ridge_model.predict(X_pca_batch)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7c3fcfc0",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6f3ed77a",
   "metadata": {},
   "outputs": [],
   "source": [
    "for batch_idx, (combined_ppg_batch, combined_ecg_batch, combined_seg_dbp_batch, combined_seg_sbp_batch, combined_vg_images_batch) in enumerate(combined_data_generator):\n",
    "    print(f\"Batch {batch_idx + 1}:\")\n",
    "    \n",
    "    # Plot VG images for the first 5 PPG signals in the current batch\n",
    "    for i in range(len(combined_ppg_batch)):\n",
    "        ppg_signal = combined_ppg_batch[i].flatten()  # Flatten to 1D if necessary\n",
    "        \n",
    "        # Generate the VG image for the PPG signal\n",
    "        vg_image = generate_vg_image(ppg_signal, vg_image_size)\n",
    "        \n",
    "        # Debug: Print PPG signal stats and VG image shape\n",
    "        print(f\"PPG Signal {i + 1} stats - Mean: {np.mean(ppg_signal)}, Std Dev: {np.std(ppg_signal)}\")\n",
    "        print(f\"VG Image {i + 1} shape: {vg_image.shape}\")\n",
    "        \n",
    "        # Plot the PPG signal\n",
    "        plt.figure(figsize=(12, 6))\n",
    "        plt.subplot(1, 2, 1)\n",
    "        plt.plot(ppg_signal)\n",
    "        plt.title(f\"PPG Signal {i + 1} (Batch {batch_idx + 1})\")\n",
    "        plt.xlabel(\"Sample Index\")\n",
    "        plt.ylabel(\"Amplitude\")\n",
    "        \n",
    "        # Plot the VG image\n",
    "        plt.subplot(1, 2, 2)\n",
    "        plt.imshow(vg_image, cmap='gray', aspect='auto')\n",
    "        plt.title(f\"VG Image {i + 1} (Batch {batch_idx + 1})\")\n",
    "        plt.axis('off')\n",
    "        \n",
    "        plt.tight_layout()\n",
    "        plt.show()\n",
    "    \n",
    "    # Optionally break after the first batch\n",
    "    break  # Remove this line if you want to process all batches\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4609c6e6",
   "metadata": {},
   "outputs": [],
   "source": [
    "vg_image_size = (224, 224)  # Adjust as necessary\n",
    "\n",
    "# Generate and plot VG images for the first 5 samples in the first batch\n",
    "for i in range(min(5, len(combined_ppg_batch))):\n",
    "    ppg_signal = combined_ppg_batch[i]\n",
    "    \n",
    "    # Generate the VG image for the PPG signal\n",
    "    vg_image = generate_vg_image(ppg_signal, vg_image_size)\n",
    "    \n",
    "    # Plot the PPG signal\n",
    "    plt.figure(figsize=(12, 6))\n",
    "    plt.subplot(1, 2, 1)\n",
    "    plt.plot(ppg_signal)\n",
    "    plt.title(f\"PPG Signal {i + 1}\")\n",
    "    plt.xlabel(\"Sample Index\")\n",
    "    plt.ylabel(\"Amplitude\")\n",
    "    \n",
    "    # Plot the VG image\n",
    "    plt.subplot(1, 2, 2)\n",
    "    plt.imshow(vg_image, cmap='gray', aspect='auto')\n",
    "    plt.title(f\"VG Image {i + 1}\")\n",
    "    plt.axis('off')\n",
    "    \n",
    "    plt.tight_layout()\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7d95c620",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0ee4e6ab",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from tensorflow.keras import applications, models, layers\n",
    "from tensorflow.keras.preprocessing import image\n",
    "!pip install --upgrade bottleneck\n",
    "# Function to preprocess VG images for VGG19\n",
    "def preprocess_vg_images(vg_images):\n",
    "    processed_images = []\n",
    "    for img in vg_images:\n",
    "        if img.ndim == 2:  # Ensure the image has two dimensions\n",
    "            img = np.expand_dims(img, axis=-1)  # Add channel dimension\n",
    "        img = np.repeat(img, 3, axis=-1)  # Convert to 3 channels if single-channel\n",
    "        image_pil = image.array_to_img(img)\n",
    "        image_resized = image_pil.resize((224, 224))\n",
    "        image_array = image.img_to_array(image_resized)\n",
    "        processed_images.append(image_array)\n",
    "    processed_images = np.array(processed_images)\n",
    "    processed_images = applications.vgg19.preprocess_input(processed_images)\n",
    "    return processed_images\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "191d7787",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Function to create VGG19 feature extractor model\n",
    "def create_vgg19_feature_extractor(input_shape):\n",
    "    base_model = applications.VGG19(weights='imagenet', include_top=False, input_shape=input_shape)\n",
    "    model = models.Model(inputs=base_model.input, outputs=base_model.get_layer('block5_pool').output)\n",
    "    return model\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8e8bc057",
   "metadata": {},
   "outputs": [],
   "source": [
    "def ridge_regression(X, y, lambda_reg):\n",
    "    N, d = X.shape\n",
    "    X_tilde = np.vstack((X.T, np.ones(N)))\n",
    "    I = np.eye(d + 1)\n",
    "    I[-1, -1] = 0\n",
    "    w_tilde = np.linalg.inv(lambda_reg * I + X_tilde @ X_tilde.T) @ (X_tilde @ y.T)\n",
    "    return w_tilde"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f20ca399",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "85ecc367",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0d806ef9",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['p000001.npz', 'p000003.npz', 'p000005.npz', 'p000006.npz', 'p000008.npz', 'p000010.npz', 'p000012.npz', 'p000013.npz', 'p000016.npz', 'p000019.npz', 'p000022.npz', 'p000023.npz', 'p000024.npz', 'p000027.npz', 'p000028.npz', 'p000030.npz', 'p000033.npz', 'p000035.npz', 'p000037.npz', 'p000038.npz', 'p000041.npz', 'p000043.npz', 'p000047.npz', 'p000050.npz', 'p000051.npz', 'p000052.npz', 'p000053.npz', 'p000056.npz', 'p000058.npz', 'p000059.npz', 'p000061.npz', 'p000063.npz', 'p000064.npz', 'p000066.npz', 'p000068.npz', 'p000071.npz', 'p000073.npz', 'p000074.npz', 'p000079.npz', 'p000085.npz', 'p000088.npz', 'p000089.npz', 'p000093.npz', 'p000097.npz', 'p000101.npz', 'p000102.npz', 'p000103.npz', 'p000107.npz', 'p000109.npz', 'p000110.npz', 'p000111.npz', 'p000113.npz', 'p000116.npz', 'p000119.npz', 'p000120.npz', 'p000121.npz', 'p000122.npz', 'p000124.npz', 'p000128.npz', 'p000129.npz', 'p000130.npz', 'p000131.npz', 'p000134.npz', 'p000135.npz', 'p000136.npz', 'p000137.npz', 'p000139.npz', 'p000141.npz', 'p000142.npz', 'p000143.npz', 'p000144.npz', 'p000145.npz', 'p000147.npz', 'p000149.npz', 'p000150.npz', 'p000152.npz', 'p000156.npz', 'p000158.npz', 'p000160.npz', 'p000164.npz', 'p000165.npz', 'p000166.npz', 'p000167.npz', 'p000168.npz', 'p000169.npz', 'p000173.npz', 'p000174.npz', 'p000176.npz', 'p000179.npz', 'p000181.npz', 'p000182.npz', 'p000183.npz', 'p000184.npz', 'p000185.npz', 'p000187.npz', 'p000188 (2).npz', 'p000188.npz', 'p000189.npz', 'p000192.npz', 'p000194.npz', 'p000195.npz', 'p000198.npz', 'p000202.npz', 'p000203.npz', 'p000204.npz', 'p000205.npz', 'p000206.npz', 'p000207.npz', 'p000211.npz', 'p000213.npz', 'p000216.npz', 'p000217.npz', 'p000218.npz', 'p000220.npz', 'p000221.npz', 'p000224.npz', 'p000227.npz', 'p000228.npz', 'p000229.npz', 'p000230.npz', 'p000232.npz', 'p000234.npz', 'p000236.npz', 'p000237.npz', 'p000238.npz', 'p000241.npz', 'p000242.npz', 'p000244.npz', 'p000246.npz', 'p000248.npz', 'p000249.npz', 'p000251.npz', 'p000253.npz', 'p000254.npz', 'p000255.npz', 'p000257.npz', 'p000259.npz', 'p000261.npz', 'p000263.npz', 'p000266.npz', 'p000269.npz', 'p000270.npz', 'p000274.npz', 'p000275.npz', 'p000276.npz', 'p000279.npz', 'p000280.npz', 'p000282.npz', 'p000284.npz', 'p000285.npz', 'p000286.npz', 'p000287.npz', 'p000290.npz', 'p000291.npz', 'p000294.npz', 'p000303.npz', 'p000304.npz', 'p000305.npz', 'p000306.npz', 'p000309.npz', 'p000310.npz', 'p000311.npz', 'p000312.npz', 'p000316.npz', 'p000317.npz', 'p000318.npz', 'p000319.npz', 'p000321.npz', 'p000323.npz', 'p000324.npz', 'p000326.npz', 'p000327.npz', 'p000328.npz', 'p000333.npz', 'p000336.npz', 'p000340.npz', 'p000342.npz', 'p000344.npz', 'p000345.npz', 'p000346.npz', 'p000348.npz', 'p000351.npz', 'p000352.npz', 'p000353.npz', 'p000355.npz', 'p000356.npz', 'p000358.npz', 'p000359.npz', 'p000361.npz', 'p000362.npz', 'p000364.npz', 'p000366.npz', 'p000368.npz', 'p000369.npz', 'p000376.npz', 'p000378.npz', 'p000379.npz', 'p000381.npz', 'p000383.npz', 'p000385.npz', 'p000386.npz', 'p000388.npz', 'p000390.npz', 'p000391.npz', 'p000394.npz', 'p000398.npz', 'p000399.npz', 'p000400.npz', 'p000404.npz', 'p000405.npz', 'p000406.npz', 'p000407.npz', 'p000409.npz', 'p000410.npz', 'p000412.npz', 'p000414.npz', 'p000415.npz', 'p000419.npz', 'p000422.npz', 'p000423.npz', 'p000424.npz', 'p000427.npz', 'p000430.npz', 'p000431.npz', 'p000432.npz', 'p000441.npz', 'p000442.npz', 'p000443.npz', 'p000444.npz', 'p000449.npz', 'p000451.npz', 'p000452.npz', 'p000453.npz', 'p000454.npz', 'p000456.npz', 'p000460.npz', 'p000462.npz', 'p000464.npz', 'p000466.npz', 'p000468.npz', 'p000473.npz', 'p000475.npz', 'p000476.npz', 'p000480.npz', 'p000483.npz', 'p000485.npz', 'p000486.npz', 'p000489.npz', 'p000490.npz', 'p000492.npz', 'p000493.npz', 'p000494.npz', 'p000495.npz', 'p000498.npz', 'p000499.npz', 'p000501.npz', 'p000502.npz', 'p000503.npz', 'p000508.npz', 'p000509.npz', 'p000510.npz', 'p000511.npz', 'p000515.npz', 'p000516.npz', 'p000517.npz', 'p000518.npz', 'p000524.npz', 'p000526.npz', 'p000527.npz', 'p000528.npz', 'p000530.npz', 'p000531.npz', 'p000536.npz', 'p000537.npz', 'p000539.npz', 'p000540.npz', 'p000541.npz', 'p000542.npz', 'p000543.npz', 'p000544.npz', 'p000545.npz', 'p000547.npz', 'p000548.npz', 'p000549.npz', 'p000550.npz', 'p000551.npz', 'p000554.npz', 'p000555.npz', 'p000556.npz', 'p000558.npz', 'p000559.npz', 'p000560.npz', 'p000563.npz', 'p000564.npz', 'p000567.npz', 'p000568.npz', 'p000571.npz', 'p000573.npz', 'p000576.npz', 'p000579.npz', 'p000581.npz', 'p000582.npz', 'p000583.npz', 'p000584.npz', 'p000587.npz', 'p000589.npz', 'p000591.npz', 'p000595.npz', 'p000598.npz', 'p000601.npz', 'p000602.npz', 'p000609.npz', 'p000610.npz', 'p000611.npz', 'p000614.npz', 'p000618.npz', 'p000619.npz', 'p000620.npz', 'p000621.npz', 'p000624.npz', 'p000625.npz', 'p000630.npz', 'p000632.npz', 'p000633.npz', 'p000635.npz', 'p000636.npz', 'p000637.npz', 'p000638.npz', 'p000639.npz', 'p000642.npz', 'p000645.npz', 'p000646.npz', 'p000647.npz', 'p000649.npz', 'p000650.npz', 'p000651.npz', 'p000652 (2).npz', 'p000652.npz', 'p000654.npz', 'p000655.npz', 'p000656.npz', 'p000658.npz', 'p000659.npz', 'p000660.npz', 'p000661.npz', 'p000662.npz', 'p000665.npz', 'p000668.npz', 'p000675.npz', 'p000677.npz', 'p000679.npz', 'p000681.npz', 'p000682.npz', 'p000683.npz', 'p000685.npz', 'p000686.npz', 'p000687.npz', 'p000688.npz', 'p000690.npz', 'p000691.npz', 'p000697.npz', 'p000701.npz', 'p000702.npz', 'p000704.npz', 'p000706.npz', 'p000707.npz', 'p000709.npz', 'p000710.npz', 'p000711.npz', 'p000712.npz', 'p000713.npz', 'p000714.npz', 'p000716.npz', 'p000721.npz', 'p000724.npz', 'p000727.npz', 'p000728.npz', 'p000732.npz', 'p000733.npz', 'p000735 (2).npz', 'p000735.npz', 'p000737.npz', 'p000738.npz', 'p000740.npz', 'p000744.npz', 'p000745.npz', 'p000747.npz', 'p000748.npz', 'p000750.npz', 'p000758.npz', 'p000759.npz', 'p000760.npz', 'p000765.npz', 'p000773 (2).npz', 'p000773.npz', 'p000775.npz', 'p000777.npz', 'p000782.npz', 'p000783.npz', 'p000786.npz', 'p000787.npz', 'p000789.npz', 'p000792.npz', 'p000794.npz', 'p000795.npz', 'p000798.npz', 'p000799.npz', 'p000800.npz', 'p000801.npz', 'p000802.npz', 'p000804.npz', 'p000809.npz', 'p000811.npz', 'p000812.npz', 'p000813.npz', 'p000818.npz', 'p000821.npz', 'p000823.npz', 'p000829.npz', 'p000831.npz', 'p000839.npz', 'p000840.npz', 'p000842.npz', 'p000843.npz', 'p000846.npz', 'p000848.npz', 'p000851.npz', 'p000852.npz', 'p000853.npz', 'p000856.npz', 'p000863.npz', 'p000867.npz', 'p000869.npz', 'p000870.npz', 'p000873.npz', 'p000874.npz', 'p000880.npz', 'p000884.npz', 'p000887.npz', 'p000890.npz', 'p000895.npz', 'p000898.npz', 'p000899.npz', 'p000900.npz', 'p000902.npz', 'p000904.npz', 'p000905.npz', 'p000906.npz', 'p000907.npz', 'p000910.npz', 'p000911.npz', 'p000914.npz', 'p000915.npz', 'p000917.npz', 'p000918.npz', 'p000920.npz', 'p000925.npz', 'p000931.npz', 'p000941.npz', 'p000942.npz', 'p000944.npz', 'p000946 (2).npz', 'p000946.npz', 'p000947.npz', 'p000948.npz', 'p000952.npz', 'p000953.npz', 'p000954.npz', 'p000958.npz', 'p000959.npz', 'p000961.npz', 'p000964.npz', 'p000966.npz', 'p000969.npz', 'p000973.npz', 'p000975.npz', 'p000979.npz', 'p000980.npz', 'p000981.npz', 'p000982.npz', 'p000984.npz', 'p000985.npz', 'p000986.npz', 'p000988.npz', 'p000989.npz', 'p000991.npz', 'p000994.npz', 'p000995.npz', 'p000996.npz', 'p001005.npz', 'p001011.npz', 'p001014.npz', 'p001016.npz', 'p001019.npz', 'p001025.npz', 'p001028.npz', 'p001030.npz', 'p001033.npz', 'p001035.npz', 'p001038.npz', 'p001041.npz', 'p001042.npz', 'p001045.npz', 'p001046.npz', 'p001049.npz', 'p001050.npz', 'p001052.npz', 'p001053.npz', 'p001056.npz', 'p001057.npz', 'p001063.npz', 'p001064.npz', 'p001065.npz', 'p001066.npz', 'p001067.npz', 'p001068.npz', 'p001071.npz', 'p001075.npz', 'p001076.npz', 'p001077.npz', 'p001078.npz', 'p001080.npz', 'p001081.npz', 'p001082.npz', 'p001084.npz', 'p001086.npz', 'p001088.npz', 'p001091.npz', 'p001092.npz', 'p001093.npz', 'p001098.npz', 'p001099.npz', 'p001102.npz', 'p001105.npz', 'p001106.npz', 'p001112.npz', 'p001113.npz', 'p001114.npz', 'p001116.npz', 'p001117.npz', 'p001120.npz', 'p001123.npz', 'p001124.npz', 'p001125.npz', 'p001127.npz', 'p001128.npz', 'p001131.npz', 'p001134.npz', 'p001137.npz', 'p001143.npz', 'p001146.npz', 'p001149.npz', 'p001152.npz', 'p001155.npz', 'p001157.npz', 'p001158.npz', 'p001160.npz', 'p001162.npz', 'p001163.npz', 'p001166.npz', 'p001167.npz', 'p001168.npz', 'p001171.npz', 'p001173.npz', 'p001175.npz', 'p001176.npz', 'p001177.npz', 'p001179.npz', 'p001180.npz', 'p001182.npz', 'p001183.npz', 'p001185.npz', 'p001186.npz', 'p001190 (2).npz', 'p001190.npz', 'p001191.npz', 'p001192.npz', 'p001194.npz', 'p001195.npz', 'p001196.npz', 'p001198.npz', 'p001199.npz', 'p001200.npz', 'p001201.npz', 'p001204.npz', 'p001206.npz', 'p001207.npz', 'p001208.npz', 'p001209.npz', 'p001210.npz', 'p001212.npz', 'p001217.npz', 'p001218.npz', 'p001221.npz', 'p001224.npz', 'p001225.npz', 'p001227.npz', 'p001231.npz', 'p001236.npz', 'p001237.npz', 'p001238.npz', 'p001241.npz', 'p001244.npz', 'p001247.npz', 'p001248.npz', 'p001249.npz', 'p001250.npz', 'p001253.npz', 'p001256.npz', 'p001257.npz', 'p001258.npz', 'p001260.npz', 'p001261.npz', 'p001266.npz', 'p001267.npz', 'p001272.npz', 'p001273.npz', 'p001275.npz', 'p001278.npz', 'p001279.npz', 'p001280.npz', 'p001284.npz', 'p001286.npz', 'p001287.npz', 'p001292.npz', 'p001293.npz', 'p001295.npz', 'p001296.npz', 'p001299.npz', 'p001300.npz', 'p001301.npz', 'p001302.npz', 'p001304.npz', 'p001306.npz', 'p001307.npz', 'p001309.npz', 'p001310.npz', 'p001312.npz', 'p001313.npz', 'p001318.npz', 'p001320.npz', 'p001326.npz', 'p001328.npz', 'p001330.npz', 'p001331.npz', 'p001332.npz', 'p001333.npz', 'p001334.npz', 'p001337.npz', 'p001338.npz', 'p001343.npz', 'p001346.npz', 'p001348.npz', 'p001349.npz', 'p001352.npz', 'p001353.npz', 'p001356.npz', 'p001357.npz', 'p001360.npz', 'p001361.npz', 'p001365.npz', 'p001369.npz', 'p001376.npz', 'p001378.npz', 'p001379.npz', 'p001381.npz', 'p001382.npz', 'p001384.npz', 'p001385.npz', 'p001386.npz', 'p001388.npz', 'p001390.npz', 'p001394.npz', 'p001397.npz', 'p001401.npz', 'p001402.npz', 'p001403.npz', 'p001405.npz', 'p001409.npz', 'p001410.npz', 'p001411.npz', 'p001412.npz', 'p001414.npz', 'p001415.npz', 'p001418.npz', 'p001419.npz', 'p001420.npz', 'p001421.npz', 'p001424.npz', 'p001428.npz', 'p001430.npz', 'p001433.npz', 'p001434.npz', 'p001437.npz', 'p001439.npz', 'p001440.npz', 'p001443.npz', 'p001444.npz', 'p001448.npz', 'p001449.npz', 'p001453.npz', 'p001454.npz', 'p001457.npz', 'p001458.npz', 'p001461.npz', 'p001465.npz', 'p001469.npz', 'p001472.npz', 'p001473.npz', 'p001474.npz', 'p001477.npz', 'p001479.npz', 'p001480.npz', 'p001481.npz', 'p001482.npz', 'p001484.npz', 'p001486.npz', 'p001487.npz', 'p001489.npz', 'p001490.npz', 'p001491.npz', 'p001492.npz', 'p001494.npz', 'p001495.npz', 'p001496.npz', 'p001497.npz', 'p001500.npz', 'p001501 (2).npz', 'p001501.npz', 'p001502.npz', 'p001503.npz', 'p001506.npz', 'p001508.npz', 'p001510.npz', 'p001513.npz', 'p001514.npz', 'p001518.npz', 'p001519.npz', 'p001521.npz', 'p001523.npz', 'p001524.npz', 'p001526.npz', 'p001527.npz', 'p001529.npz', 'p001531.npz', 'p001535.npz', 'p001538.npz', 'p001539.npz', 'p001543.npz', 'p001546.npz', 'p001549.npz', 'p001551.npz', 'p001556.npz', 'p001557.npz', 'p001558.npz', 'p001559.npz', 'p001562.npz', 'p001564.npz', 'p001566.npz', 'p001568.npz', 'p001570.npz', 'p001571.npz', 'p001573.npz', 'p001574.npz', 'p001576.npz', 'p001577.npz', 'p001578.npz', 'p001579.npz', 'p001584.npz', 'p001587.npz', 'p001588.npz', 'p001590.npz', 'p001591.npz', 'p001592.npz', 'p001595.npz', 'p001596.npz', 'p001598.npz', 'p001599.npz', 'p001601.npz', 'p001606.npz', 'p001607.npz', 'p001608.npz', 'p001611.npz', 'p001612.npz', 'p001615.npz', 'p001623.npz', 'p001625.npz', 'p001626.npz', 'p001628.npz', 'p001629.npz', 'p001640.npz', 'p001642.npz', 'p001650.npz', 'p001653.npz', 'p001656.npz', 'p001658.npz', 'p001659.npz', 'p001660.npz', 'p001662.npz', 'p001663.npz', 'p001664.npz', 'p001665.npz', 'p001666.npz', 'p001668.npz', 'p001669.npz', 'p001673.npz', 'p001675.npz', 'p001676.npz', 'p001677.npz', 'p001681.npz', 'p001683.npz', 'p001685.npz', 'p001687.npz', 'p001688.npz', 'p001691.npz', 'p001693.npz', 'p001698.npz', 'p001699.npz', 'p001700.npz', 'p001702.npz', 'p001703.npz', 'p001705.npz', 'p001706.npz', 'p001708.npz', 'p001709.npz', 'p001710.npz', 'p001713.npz', 'p001714.npz', 'p001715.npz', 'p001719.npz', 'p001720.npz', 'p001724.npz', 'p001725.npz', 'p001726.npz', 'p001727.npz', 'p001729.npz', 'p001731.npz', 'p001732.npz', 'p001735.npz', 'p001736.npz', 'p001737.npz', 'p001738.npz', 'p001739.npz', 'p001745.npz', 'p001746.npz', 'p001755.npz', 'p001758.npz', 'p001760.npz', 'p001761.npz', 'p001762.npz', 'p001763.npz', 'p001764.npz', 'p001774.npz', 'p001778.npz', 'p001782.npz', 'p001783.npz', 'p001784.npz', 'p001786.npz', 'p001787.npz', 'p001789.npz', 'p001791.npz', 'p001795.npz', 'p001796.npz', 'p001797.npz', 'p001799.npz', 'p001800.npz', 'p001803.npz', 'p001804.npz', 'p001806.npz', 'p001809.npz', 'p001810.npz', 'p001811.npz', 'p001812.npz', 'p001815.npz', 'p001818.npz', 'p001819.npz', 'p001821.npz', 'p001827.npz', 'p001828.npz', 'p001830.npz', 'p001831.npz', 'p001832.npz', 'p001833.npz', 'p001839.npz', 'p001840 (2).npz', 'p001840.npz', 'p001841.npz', 'p001845.npz', 'p001846.npz', 'p001850.npz', 'p001851.npz', 'p001852.npz', 'p001855 (2).npz', 'p001855.npz', 'p001859.npz', 'p001860.npz', 'p001861.npz', 'p001862.npz', 'p001863.npz', 'p001864.npz', 'p001867.npz', 'p001868.npz', 'p001871.npz', 'p001873.npz', 'p001875.npz', 'p001877.npz', 'p001881.npz', 'p001883.npz', 'p001885.npz', 'p001886.npz', 'p001887.npz', 'p001889.npz', 'p001892.npz', 'p001893.npz', 'p001898.npz', 'p001899.npz', 'p001900.npz', 'p001901.npz', 'p001903.npz', 'p001904.npz', 'p001905.npz', 'p001908.npz', 'p001909.npz', 'p001910.npz', 'p001912.npz', 'p001914.npz', 'p001916.npz', 'p001917.npz', 'p001918.npz', 'p001921.npz', 'p001922.npz', 'p001923.npz', 'p001925.npz', 'p001926.npz', 'p001928.npz', 'p001931.npz', 'p001933.npz', 'p001934.npz', 'p001935.npz', 'p001937.npz', 'p001938.npz', 'p001940.npz', 'p001941.npz', 'p001942.npz', 'p001943.npz', 'p001944.npz', 'p001946.npz', 'p001948.npz', 'p001949 (2).npz', 'p001949.npz', 'p001951.npz', 'p001955.npz', 'p001956.npz', 'p001957.npz', 'p001958.npz', 'p001959.npz', 'p001962.npz', 'p001963.npz', 'p001965.npz', 'p001966.npz', 'p001969.npz', 'p001971.npz', 'p001974.npz', 'p001976.npz', 'p001978.npz', 'p001985.npz', 'p001988.npz', 'p001990.npz', 'p001991.npz', 'p001997.npz', 'p001998.npz', 'p001999.npz', 'p002001.npz', 'p002002.npz', 'p002003.npz', 'p002004.npz', 'p002005.npz', 'p002006.npz', 'p002009.npz', 'p002012.npz', 'p002013.npz', 'p002014.npz', 'p002015.npz', 'p002016.npz', 'p002018.npz', 'p002021.npz', 'p002022.npz', 'p002025.npz', 'p002029.npz', 'p002031.npz', 'p002033.npz', 'p002034.npz', 'p002035.npz', 'p002038.npz', 'p002039.npz', 'p002040.npz', 'p002042.npz', 'p002043.npz', 'p002044.npz', 'p002045.npz', 'p002047.npz', 'p002048.npz', 'p002050.npz', 'p002051.npz', 'p002058.npz', 'p002061.npz', 'p002063 (2).npz', 'p002063.npz', 'p002065.npz', 'p002066.npz', 'p002071.npz', 'p002072.npz', 'p002074.npz', 'p002077.npz', 'p002082.npz', 'p002086.npz', 'p002087.npz', 'p002089.npz', 'p002091.npz', 'p002093.npz', 'p002094.npz', 'p002095.npz', 'p002097.npz', 'p002101.npz', 'p002103.npz', 'p002107.npz', 'p002109.npz', 'p002110.npz', 'p002114.npz', 'p002115.npz', 'p002116.npz', 'p002117.npz', 'p002119.npz', 'p002122.npz', 'p002124.npz', 'p002125.npz', 'p002127.npz', 'p002128.npz', 'p002129.npz', 'p002131.npz', 'p002134.npz', 'p002137.npz', 'p002138.npz', 'p002145.npz', 'p002146.npz', 'p002148.npz', 'p002154.npz', 'p002155.npz', 'p002158.npz', 'p002159.npz', 'p002160.npz', 'p002165.npz', 'p002170.npz', 'p002171.npz', 'p002173.npz', 'p002174.npz', 'p002175.npz', 'p002179.npz', 'p002181.npz', 'p002182.npz', 'p002183.npz', 'p002184.npz', 'p002185.npz', 'p002186.npz', 'p002190.npz', 'p002194.npz', 'p002196.npz', 'p002197.npz', 'p002198.npz', 'p002199.npz', 'p002200.npz', 'p002202.npz', 'p002205.npz', 'p002206.npz', 'p002207.npz', 'p002209.npz', 'p002212.npz', 'p002214.npz', 'p002216.npz', 'p002217.npz', 'p002220.npz', 'p002221.npz', 'p002222.npz', 'p002223.npz', 'p002224.npz', 'p002227.npz', 'p002229.npz', 'p002231.npz', 'p002232.npz', 'p002234.npz', 'p002235.npz', 'p002238.npz', 'p002240.npz', 'p002242.npz', 'p002244.npz', 'p002252.npz', 'p002257.npz', 'p002258.npz', 'p002262.npz', 'p002263.npz', 'p002264.npz', 'p002265.npz', 'p002268.npz', 'p002270.npz', 'p002271.npz', 'p002272.npz', 'p002277.npz', 'p002278.npz', 'p002281.npz', 'p002283.npz', 'p002284.npz', 'p002286.npz', 'p002287.npz', 'p002289.npz', 'p002291.npz', 'p002296.npz', 'p002297.npz', 'p002303.npz', 'p002306.npz', 'p002307.npz', 'p002308.npz', 'p002312.npz', 'p002316.npz', 'p002317.npz', 'p002318.npz', 'p002320.npz', 'p002322.npz', 'p002323.npz', 'p002328.npz', 'p002329.npz', 'p002335.npz', 'p002336.npz', 'p002341.npz', 'p002342.npz', 'p002343 (2).npz', 'p002343.npz', 'p002352.npz', 'p002353.npz', 'p002355.npz', 'p002357.npz', 'p002358.npz', 'p002359.npz', 'p002361.npz', 'p002362.npz', 'p002363.npz', 'p002364.npz', 'p002365.npz', 'p002368.npz', 'p002369 (2).npz', 'p002369.npz', 'p002371.npz', 'p002372.npz', 'p002373.npz', 'p002374.npz', 'p002377.npz', 'p002378.npz', 'p002379.npz', 'p002380.npz', 'p002382.npz', 'p002383.npz', 'p002384.npz', 'p002390.npz', 'p002391.npz', 'p002394.npz', 'p002395.npz', 'p002396.npz', 'p002397.npz', 'p002398.npz', 'p002399.npz', 'p002400.npz', 'p002402.npz', 'p002403.npz', 'p002404.npz', 'p002407.npz', 'p002410.npz', 'p002411.npz', 'p002412.npz', 'p002415.npz', 'p002417.npz', 'p002418.npz', 'p002419.npz', 'p002423.npz', 'p002424.npz', 'p002428.npz', 'p002429.npz', 'p002430.npz', 'p002431.npz', 'p002432.npz', 'p002440.npz', 'p002442.npz', 'p002444.npz', 'p002448.npz', 'p002457.npz', 'p002458 (2).npz', 'p002458.npz', 'p002460.npz', 'p002462.npz', 'p002463.npz', 'p002464.npz', 'p002466.npz', 'p002468.npz', 'p002469.npz', 'p002470.npz', 'p002471.npz', 'p002474.npz', 'p002475.npz', 'p002476.npz', 'p002479.npz', 'p002483.npz', 'p002484.npz', 'p002489.npz', 'p002490.npz', 'p002491.npz', 'p002493.npz', 'p002494.npz', 'p002496.npz', 'p002497.npz', 'p002498.npz', 'p002501.npz', 'p002502.npz', 'p002503.npz', 'p002505.npz', 'p002506.npz', 'p002507.npz', 'p002508.npz', 'p002509.npz', 'p002511.npz', 'p002513.npz', 'p002515.npz', 'p002517.npz', 'p002519.npz', 'p002523.npz', 'p002524.npz', 'p002528.npz', 'p002530.npz', 'p002531.npz', 'p002532.npz', 'p002534.npz', 'p002536.npz', 'p002537.npz', 'p002539.npz', 'p002540.npz', 'p002541.npz', 'p002543.npz', 'p002544.npz', 'p002545.npz', 'p002547.npz', 'p002549.npz', 'p002551.npz', 'p002552.npz', 'p002556.npz', 'p002557.npz', 'p002559.npz', 'p002567.npz', 'p002568.npz', 'p002577.npz', 'p002578.npz', 'p002581.npz', 'p002583.npz', 'p002584.npz', 'p002586.npz', 'p002588.npz', 'p002591.npz', 'p002592.npz', 'p002595.npz', 'p002596.npz', 'p002597.npz', 'p002602.npz', 'p002605.npz', 'p002607.npz', 'p002609.npz', 'p002614.npz', 'p002616.npz', 'p002618.npz', 'p002621.npz', 'p002622.npz', 'p002626.npz', 'p002629.npz', 'p002631.npz', 'p002632.npz', 'p002635.npz', 'p002636 (2).npz', 'p002636.npz', 'p002638.npz', 'p002639.npz', 'p002640.npz', 'p002642.npz', 'p002643.npz', 'p002645.npz', 'p002646.npz', 'p002648.npz', 'p002653.npz', 'p002656.npz', 'p002657.npz', 'p002658.npz', 'p002661.npz', 'p002664.npz', 'p002665.npz', 'p002666.npz', 'p002667.npz', 'p002671.npz', 'p002672.npz', 'p002676.npz', 'p002678.npz', 'p002680.npz', 'p002681.npz', 'p002686.npz', 'p002693.npz', 'p002694.npz', 'p002695.npz', 'p002701.npz', 'p002702.npz', 'p002703.npz', 'p002704.npz', 'p002705.npz', 'p002707.npz', 'p002710.npz', 'p002711.npz', 'p002712.npz', 'p002713.npz', 'p002715.npz', 'p002716.npz', 'p002719.npz', 'p002722.npz', 'p002725.npz', 'p002727.npz', 'p002728.npz', 'p002732.npz', 'p002736.npz', 'p002739.npz', 'p002740.npz', 'p002743.npz', 'p002744.npz', 'p002745.npz', 'p002746.npz', 'p002747.npz', 'p002748.npz', 'p002750.npz', 'p002753.npz', 'p002754.npz', 'p002755.npz', 'p002756.npz', 'p002759.npz', 'p002760.npz', 'p002761.npz', 'p002762.npz', 'p002767.npz', 'p002772.npz', 'p002774.npz', 'p002775.npz', 'p002777.npz', 'p002782.npz', 'p002783.npz', 'p002784.npz', 'p002786.npz', 'p002788.npz', 'p002789.npz', 'p002790.npz', 'p002792.npz', 'p002793.npz', 'p002795.npz', 'p002796.npz', 'p002799.npz', 'p002802.npz', 'p002803.npz', 'p002804.npz', 'p002805.npz', 'p002810.npz', 'p002813.npz', 'p002815.npz', 'p002816.npz', 'p002818.npz', 'p002819.npz', 'p002821.npz', 'p002822.npz', 'p002825.npz', 'p002826.npz', 'p002827.npz', 'p002829.npz', 'p002831.npz', 'p002832.npz', 'p002833.npz', 'p002839.npz', 'p002840.npz', 'p002841.npz', 'p002842.npz', 'p002849.npz', 'p002850.npz', 'p002851.npz', 'p002852.npz', 'p002856.npz', 'p002864.npz', 'p002865.npz', 'p002866.npz', 'p002868.npz', 'p002869.npz', 'p002871.npz', 'p002872.npz', 'p002874.npz', 'p002877.npz', 'p002879.npz', 'p002882.npz', 'p002883.npz', 'p002884.npz', 'p002886.npz', 'p002887.npz', 'p002888.npz', 'p002889.npz', 'p002890.npz', 'p002891.npz', 'p002893.npz', 'p002894.npz', 'p002895.npz', 'p002896.npz', 'p002897.npz', 'p002898.npz', 'p002899.npz', 'p002902.npz', 'p002905.npz', 'p002906 (2).npz', 'p002906.npz', 'p002907.npz', 'p002918.npz', 'p002920.npz', 'p002921.npz', 'p002922.npz', 'p002923.npz', 'p002924.npz', 'p002925.npz', 'p002927.npz', 'p002928.npz', 'p002930.npz', 'p002933.npz', 'p002934.npz', 'p002935.npz', 'p002937.npz', 'p002938.npz', 'p002939.npz', 'p002940.npz', 'p002943.npz', 'p002950.npz', 'p002956.npz', 'p002957.npz', 'p002960.npz', 'p002961.npz', 'p002962.npz', 'p002963.npz', 'p002965.npz', 'p002966.npz', 'p002968.npz', 'p002970.npz', 'p002971.npz', 'p002974.npz', 'p002975.npz', 'p002977.npz', 'p002978.npz', 'p002979.npz', 'p002980.npz', 'p002982.npz', 'p002983.npz', 'p002988.npz', 'p002989.npz', 'p002990.npz', 'p002991.npz', 'p002993.npz', 'p002994.npz', 'p002995.npz', 'p002997.npz', 'p002998.npz', 'p002999.npz', 'p003001.npz', 'p003002.npz', 'p003003.npz', 'p003004.npz', 'p003005.npz', 'p003006.npz', 'p003008.npz', 'p003011.npz', 'p003012.npz', 'p003014.npz', 'p003015.npz', 'p003017.npz', 'p003019.npz', 'p003021.npz', 'p003022.npz', 'p003027.npz', 'p003033.npz', 'p003035.npz', 'p003036.npz', 'p003037.npz', 'p003039 (2).npz', 'p003039.npz', 'p003041.npz', 'p003042.npz', 'p003043.npz', 'p003046.npz', 'p003049.npz', 'p003050.npz', 'p003052.npz', 'p003054.npz', 'p003055.npz', 'p003059.npz', 'p003060.npz', 'p003061.npz', 'p003066.npz', 'p003068.npz', 'p003070.npz', 'p003071.npz', 'p003072.npz', 'p003074.npz', 'p003077.npz', 'p003078.npz', 'p003080.npz', 'p003081.npz', 'p003086.npz', 'p003087.npz', 'p003088.npz', 'p003090.npz', 'p003091.npz', 'p003092.npz', 'p003093.npz', 'p003096.npz', 'p003100.npz', 'p003101.npz', 'p003102.npz', 'p003103.npz', 'p003107.npz', 'p003108.npz', 'p003110.npz', 'p003112.npz', 'p003116.npz', 'p003118.npz', 'p003124.npz', 'p003125.npz', 'p003127.npz', 'p003128.npz', 'p003129.npz', 'p003130.npz', 'p003131.npz', 'p003133.npz', 'p003138.npz', 'p003141.npz', 'p003142.npz', 'p003143.npz', 'p003147.npz', 'p003148.npz', 'p003153.npz', 'p003155.npz', 'p003157.npz', 'p003159.npz', 'p003161.npz', 'p003162.npz', 'p003165.npz', 'p003167.npz', 'p003169.npz', 'p003172.npz', 'p003174.npz', 'p003176.npz', 'p003177.npz', 'p003178.npz', 'p003179.npz', 'p003180.npz', 'p003182.npz', 'p003183.npz', 'p003191.npz', 'p003192.npz', 'p003197.npz', 'p003203.npz', 'p003205.npz', 'p003207.npz', 'p003208.npz', 'p003209.npz', 'p003221.npz', 'p003222.npz', 'p003223.npz', 'p003224.npz', 'p003225.npz', 'p003226.npz', 'p003227.npz', 'p003228.npz', 'p003229.npz', 'p003230.npz', 'p003231.npz', 'p003232.npz', 'p003234.npz', 'p003237.npz', 'p003238.npz', 'p003239.npz', 'p003240.npz', 'p003241.npz', 'p003244.npz', 'p003246.npz', 'p003247.npz', 'p003248.npz', 'p003251.npz', 'p003252.npz', 'p003254.npz', 'p003257.npz', 'p003261.npz', 'p003263.npz', 'p003265.npz', 'p003266.npz', 'p003267.npz', 'p003270.npz', 'p003274.npz', 'p003276.npz', 'p003279.npz', 'p003280.npz', 'p003281.npz', 'p003283.npz', 'p003284.npz', 'p003286.npz', 'p003287.npz', 'p003291.npz', 'p003294.npz', 'p003295.npz', 'p003297.npz', 'p003299.npz', 'p003302.npz', 'p003305.npz', 'p003308.npz', 'p003311.npz', 'p003313.npz', 'p003314.npz', 'p003315.npz', 'p003316.npz', 'p003318.npz', 'p003320.npz', 'p003321.npz', 'p003323.npz', 'p003325.npz', 'p003330.npz', 'p003331.npz', 'p003332.npz', 'p003335.npz', 'p003336.npz', 'p003339.npz', 'p003340.npz', 'p003342.npz', 'p003346.npz', 'p003348.npz', 'p003350.npz', 'p003354.npz', 'p003356.npz', 'p003357.npz', 'p003358.npz', 'p003359.npz', 'p003360.npz', 'p003361.npz', 'p003363.npz', 'p003364.npz', 'p003365.npz', 'p003366.npz', 'p003367.npz', 'p003369.npz', 'p003371.npz', 'p003374.npz', 'p003376.npz', 'p003377.npz', 'p003378.npz', 'p003380.npz', 'p003381.npz', 'p003383.npz', 'p003384.npz', 'p003385.npz', 'p003386.npz', 'p003387.npz', 'p003388.npz', 'p003389.npz', 'p003392.npz', 'p003395.npz', 'p003396.npz', 'p003399.npz', 'p003400.npz', 'p003401.npz', 'p003402.npz', 'p003403.npz', 'p003407.npz', 'p003409.npz', 'p003410.npz', 'p003412.npz', 'p003414.npz', 'p003416.npz', 'p003419.npz', 'p003421.npz', 'p003423.npz', 'p003424.npz', 'p003425.npz', 'p003426.npz', 'p003429.npz', 'p003430.npz', 'p003431.npz', 'p003433.npz', 'p003440.npz', 'p003443.npz', 'p003444.npz', 'p003447.npz', 'p003448.npz', 'p003450.npz', 'p003452.npz', 'p003453.npz', 'p003454.npz', 'p003455.npz', 'p003457.npz', 'p003462.npz', 'p003466.npz', 'p003467.npz', 'p003469.npz', 'p003471.npz', 'p003473.npz', 'p003474.npz', 'p003477.npz', 'p003478.npz', 'p003479.npz', 'p003482.npz', 'p003484.npz', 'p003487.npz', 'p003488.npz', 'p003489.npz', 'p003490.npz', 'p003492.npz', 'p003495.npz', 'p003503.npz', 'p003506.npz', 'p003509.npz', 'p003510.npz', 'p003514.npz', 'p003515.npz', 'p003517.npz', 'p003518.npz', 'p003519.npz', 'p003522.npz', 'p003523.npz', 'p003525.npz', 'p003526.npz', 'p003527.npz', 'p003528.npz', 'p003529.npz', 'p003531.npz', 'p003534.npz', 'p003535.npz', 'p003536.npz', 'p003537.npz', 'p003540.npz', 'p003544.npz', 'p003551.npz', 'p003553.npz', 'p003558.npz', 'p003566.npz', 'p003568.npz', 'p003569.npz', 'p003570.npz', 'p003572.npz', 'p003575.npz', 'p003576.npz', 'p003577.npz', 'p003578.npz', 'p003579.npz', 'p003582.npz', 'p003585.npz', 'p003587.npz', 'p003589.npz', 'p003590.npz', 'p003593.npz', 'p003594.npz', 'p003597.npz', 'p003600.npz', 'p003602.npz', 'p003603.npz', 'p003605.npz', 'p003608.npz', 'p003612.npz', 'p003615.npz', 'p003617.npz', 'p003626.npz', 'p003628.npz', 'p003630.npz', 'p003631.npz', 'p003633.npz', 'p003637.npz', 'p003638.npz', 'p003639.npz', 'p003640.npz', 'p003641.npz', 'p003645.npz', 'p003648.npz', 'p003650.npz', 'p003651.npz', 'p003653.npz', 'p003655.npz', 'p003656.npz', 'p003660.npz', 'p003661.npz', 'p003662.npz', 'p003666.npz', 'p003672.npz', 'p003675.npz', 'p003677.npz', 'p003678.npz', 'p003679.npz', 'p003680.npz', 'p003681.npz', 'p003682.npz', 'p003684.npz', 'p003687.npz', 'p003690.npz', 'p003695.npz', 'p003697.npz', 'p003699.npz', 'p003700.npz', 'p003701.npz', 'p003702.npz', 'p003703.npz', 'p003704.npz', 'p003705.npz', 'p003710.npz', 'p003713.npz', 'p003715.npz', 'p003716.npz', 'p003718.npz', 'p003720.npz', 'p003722.npz', 'p003723.npz', 'p003724.npz', 'p003725.npz', 'p003727.npz', 'p003731.npz', 'p003732.npz', 'p003733.npz', 'p003735.npz', 'p003737.npz', 'p003739.npz', 'p003740.npz', 'p003743.npz', 'p003744 (2).npz', 'p003744.npz', 'p003746.npz', 'p003747.npz', 'p003749.npz', 'p003750.npz', 'p003752.npz', 'p003753.npz', 'p003754.npz', 'p003756.npz', 'p003757.npz', 'p003759.npz', 'p003761.npz', 'p003762.npz', 'p003763.npz', 'p003768.npz', 'p003771.npz', 'p003774.npz', 'p003776.npz', 'p003777.npz', 'p003778.npz', 'p003781.npz', 'p003788.npz', 'p003789.npz', 'p003791.npz', 'p003798.npz', 'p003800.npz', 'p003801.npz', 'p003802.npz', 'p003803.npz', 'p003810.npz', 'p003811.npz', 'p003813.npz', 'p003814.npz', 'p003815.npz', 'p003819.npz', 'p003821.npz', 'p003822.npz', 'p003823.npz', 'p003825.npz', 'p003829.npz', 'p003831.npz', 'p003832.npz', 'p003833.npz', 'p003834.npz', 'p003835.npz', 'p003837.npz', 'p003838.npz', 'p003841.npz', 'p003842.npz', 'p003843.npz', 'p003846.npz', 'p003847.npz', 'p003848.npz', 'p003852.npz', 'p003853.npz', 'p003855.npz', 'p003858.npz', 'p003862.npz', 'p003863.npz', 'p003864.npz', 'p003866.npz', 'p003867.npz', 'p003868.npz', 'p003871.npz', 'p003872.npz', 'p003873.npz', 'p003874.npz', 'p003876.npz', 'p003877.npz', 'p003878.npz', 'p003880.npz', 'p003882.npz', 'p003883.npz', 'p003888.npz', 'p003893.npz', 'p003894.npz', 'p003895.npz', 'p003897.npz', 'p003899.npz', 'p003903.npz', 'p003904.npz', 'p003907.npz', 'p003910.npz', 'p003912.npz', 'p003914.npz', 'p003917.npz', 'p003919.npz', 'p003923.npz', 'p003925.npz', 'p003927.npz', 'p003928.npz', 'p003929.npz', 'p003931.npz', 'p003933.npz', 'p003934.npz', 'p003935.npz', 'p003938.npz', 'p003941.npz', 'p003942.npz', 'p003946.npz', 'p003947.npz', 'p003949.npz', 'p003956.npz', 'p003957.npz', 'p003961.npz', 'p003965.npz', 'p003966.npz', 'p003967.npz', 'p003968.npz', 'p003971.npz', 'p003973.npz', 'p003974.npz', 'p003977.npz', 'p003978.npz', 'p003982.npz', 'p003984.npz', 'p003985.npz', 'p003986.npz', 'p003987.npz', 'p003990.npz', 'p003991.npz', 'p003994.npz', 'p003996.npz', 'p003997.npz', 'p003998.npz', 'p003999.npz', 'p004002.npz', 'p004004.npz', 'p004006.npz', 'p004007.npz', 'p004008.npz', 'p004010.npz', 'p004011.npz', 'p004013.npz', 'p004016.npz', 'p004018.npz', 'p004019.npz', 'p004020.npz', 'p004021.npz', 'p004028.npz', 'p004029.npz', 'p004031.npz', 'p004032.npz', 'p004034.npz', 'p004035.npz', 'p004038.npz', 'p004039.npz', 'p004041.npz', 'p004042.npz', 'p004044.npz', 'p004045.npz', 'p004051.npz', 'p004052.npz', 'p004053 (2).npz', 'p004053.npz', 'p004059.npz', 'p004060.npz', 'p004061.npz', 'p004063.npz', 'p004064.npz', 'p004065.npz', 'p004068.npz', 'p004069.npz', 'p004071.npz', 'p004072.npz', 'p004075.npz', 'p004077.npz', 'p004079.npz', 'p004081.npz', 'p004082.npz', 'p004083.npz', 'p004088.npz', 'p004089.npz', 'p004090.npz', 'p004093.npz', 'p004097.npz', 'p004099.npz', 'p004101.npz', 'p004102.npz', 'p004111.npz', 'p004112.npz', 'p004113.npz', 'p004114.npz', 'p004115.npz', 'p004117.npz', 'p004118.npz', 'p004119.npz', 'p004121.npz', 'p004123.npz', 'p004125.npz', 'p004126.npz', 'p004127.npz', 'p004128.npz', 'p004131.npz', 'p004135.npz', 'p004136.npz', 'p004137.npz', 'p004138.npz', 'p004139.npz', 'p004140.npz', 'p004141.npz', 'p004142.npz', 'p004143.npz', 'p004144.npz', 'p004145.npz', 'p004147.npz', 'p004148.npz', 'p004152.npz', 'p004153.npz', 'p004154.npz', 'p004157.npz', 'p004158.npz', 'p004159.npz', 'p004161.npz', 'p004163.npz', 'p004169.npz', 'p004170.npz', 'p004172.npz', 'p004177.npz', 'p004179.npz', 'p004184.npz', 'p004186.npz', 'p004187.npz', 'p004189.npz', 'p004190.npz', 'p004193.npz', 'p004194.npz', 'p004199.npz', 'p004200.npz', 'p004210.npz', 'p004215.npz', 'p004222.npz', 'p004224.npz', 'p004229.npz', 'p004233.npz', 'p004235.npz', 'p004237.npz', 'p004238.npz', 'p004244.npz', 'p004245.npz', 'p004246.npz', 'p004247.npz', 'p004248.npz', 'p004249.npz', 'p004252.npz', 'p004253.npz', 'p004255.npz', 'p004256.npz', 'p004257.npz', 'p004258.npz', 'p004259.npz', 'p004264.npz', 'p004266.npz', 'p004269.npz', 'p004270.npz', 'p004271.npz', 'p004273.npz', 'p004275.npz', 'p004276.npz', 'p004279.npz', 'p004281.npz', 'p004282.npz', 'p004283.npz', 'p004284.npz', 'p004285.npz', 'p004288.npz', 'p004294.npz', 'p004295.npz', 'p004298.npz', 'p004301.npz', 'p004303.npz', 'p004306.npz', 'p004308.npz', 'p004311.npz', 'p004312.npz', 'p004313.npz', 'p004315.npz', 'p004317.npz', 'p004320.npz', 'p004321.npz', 'p004323.npz', 'p004324 (2).npz', 'p004324.npz', 'p004325.npz', 'p004326.npz', 'p004329.npz', 'p004330.npz', 'p004331 (2).npz', 'p004331.npz', 'p004335.npz', 'p004337.npz', 'p004339.npz', 'p004341.npz', 'p004343.npz', 'p004344.npz', 'p004347.npz', 'p004352.npz', 'p004353.npz', 'p004355.npz', 'p004356.npz', 'p004361.npz', 'p004363.npz', 'p004365.npz', 'p004366.npz', 'p004367.npz', 'p004368.npz', 'p004372.npz', 'p004373.npz', 'p004374.npz', 'p004375.npz', 'p004378.npz', 'p004381.npz', 'p004384.npz', 'p004385.npz', 'p004387.npz', 'p004393.npz', 'p004397.npz', 'p004399.npz', 'p004400.npz', 'p004401.npz', 'p004404.npz', 'p004405.npz', 'p004407.npz', 'p004408.npz', 'p004409.npz', 'p004412.npz', 'p004414.npz', 'p004415.npz', 'p004418.npz', 'p004419.npz', 'p004423.npz', 'p004424.npz', 'p004425.npz', 'p004426.npz', 'p004428.npz', 'p004429.npz', 'p004430.npz', 'p004431.npz', 'p004434.npz', 'p004436.npz', 'p004437.npz', 'p004441.npz', 'p004442.npz', 'p004443.npz', 'p004448.npz', 'p004450.npz', 'p004451.npz', 'p004452.npz', 'p004454.npz', 'p004455.npz', 'p004456.npz', 'p004457.npz', 'p004462.npz', 'p004463.npz', 'p004465.npz', 'p004466.npz', 'p004467.npz', 'p004471.npz', 'p004472.npz', 'p004476.npz', 'p004479.npz', 'p004480.npz', 'p004483.npz', 'p004485.npz', 'p004488.npz', 'p004492.npz', 'p004495.npz', 'p004496.npz', 'p004498.npz', 'p004499.npz', 'p004500.npz', 'p004501.npz', 'p004503.npz', 'p004504.npz', 'p004507.npz', 'p004509.npz', 'p004510.npz', 'p004515.npz', 'p004520.npz', 'p004521.npz', 'p004522.npz', 'p004524.npz', 'p004526.npz', 'p004529.npz', 'p004531.npz', 'p004535.npz', 'p004536.npz', 'p004537.npz', 'p004539.npz', 'p004540.npz', 'p004541.npz', 'p004543.npz', 'p004550.npz', 'p004551.npz', 'p004552.npz', 'p004553.npz', 'p004556.npz', 'p004557.npz', 'p004558.npz', 'p004559.npz', 'p004561.npz', 'p004562.npz', 'p004563.npz', 'p004567.npz', 'p004569.npz', 'p004570.npz', 'p004571.npz', 'p004573.npz', 'p004574.npz', 'p004576.npz', 'p004578.npz', 'p004579.npz', 'p004580.npz', 'p004582.npz', 'p004583.npz', 'p004584.npz', 'p004586.npz', 'p004588.npz', 'p004589.npz', 'p004590.npz', 'p004593.npz', 'p004595.npz', 'p004596.npz', 'p004597.npz', 'p004598.npz', 'p004599.npz', 'p004603.npz', 'p004607.npz', 'p004608.npz', 'p004614.npz', 'p004619.npz', 'p004623.npz', 'p004624.npz', 'p004625.npz', 'p004629.npz', 'p004631.npz', 'p004632.npz', 'p004633.npz', 'p004634.npz', 'p004635.npz', 'p004641.npz', 'p004642.npz', 'p004644.npz', 'p004646.npz', 'p004649.npz', 'p004651.npz', 'p004655.npz', 'p004658.npz', 'p004660.npz', 'p004661.npz', 'p004662.npz', 'p004663.npz', 'p004664.npz', 'p004668.npz', 'p004670.npz', 'p004671.npz', 'p004672.npz', 'p004675.npz', 'p004677.npz', 'p004679.npz', 'p004686.npz', 'p004687.npz', 'p004688.npz', 'p004689.npz', 'p004692.npz', 'p004693.npz', 'p004694.npz', 'p004695.npz', 'p004697.npz', 'p004699.npz', 'p004704.npz', 'p004708.npz', 'p004709.npz', 'p004713.npz', 'p004717.npz', 'p004724.npz', 'p004727.npz', 'p004728.npz', 'p004729.npz', 'p004730.npz', 'p004732.npz', 'p004734.npz', 'p004735.npz', 'p004736.npz', 'p004737.npz', 'p004738.npz', 'p004739.npz', 'p004743.npz', 'p004746.npz', 'p004747.npz', 'p004748.npz', 'p004749.npz', 'p004753.npz', 'p004757.npz', 'p004759.npz', 'p004760.npz', 'p004764.npz', 'p004765.npz', 'p004767.npz', 'p004769.npz', 'p004772.npz', 'p004773.npz', 'p004774.npz', 'p004776.npz', 'p004777.npz', 'p004779.npz', 'p004780.npz', 'p004783.npz', 'p004786.npz', 'p004788.npz', 'p004791.npz', 'p004793.npz', 'p004795.npz', 'p004800.npz', 'p004801.npz', 'p004802.npz', 'p004803.npz', 'p004804.npz', 'p004806.npz', 'p004809.npz', 'p004810.npz', 'p004812.npz', 'p004813.npz', 'p004814.npz', 'p004815.npz', 'p004818.npz', 'p004820.npz', 'p004821.npz', 'p004829.npz', 'p004831.npz', 'p004833 (2).npz', 'p004833.npz', 'p004834.npz', 'p004835.npz', 'p004836.npz', 'p004837 (2).npz', 'p004837.npz', 'p004838.npz', 'p004843.npz', 'p004845.npz', 'p004846.npz', 'p004850.npz', 'p004851.npz', 'p004855.npz', 'p004858.npz', 'p004863.npz', 'p004865.npz', 'p004866.npz', 'p004869.npz', 'p004872.npz', 'p004875.npz', 'p004876.npz', 'p004880.npz', 'p004881.npz', 'p004882.npz', 'p004883.npz', 'p004884.npz', 'p004889.npz', 'p004890.npz', 'p004894.npz', 'p004897.npz', 'p004900.npz', 'p004902.npz', 'p004903.npz', 'p004904.npz', 'p004906 (2).npz', 'p004906.npz', 'p004908.npz', 'p004910.npz', 'p004911.npz', 'p004913.npz', 'p004914.npz', 'p004915.npz', 'p004917.npz', 'p004919.npz', 'p004920.npz', 'p004922.npz', 'p004924.npz', 'p004925.npz', 'p004928.npz', 'p004929.npz', 'p004934.npz', 'p004936.npz', 'p004939.npz', 'p004940.npz', 'p004941.npz', 'p004942.npz', 'p004944.npz', 'p004945.npz', 'p004948.npz', 'p004949.npz', 'p004950.npz', 'p004953.npz', 'p004954.npz', 'p004956.npz', 'p004958.npz', 'p004960.npz', 'p004961.npz', 'p004962.npz', 'p004964.npz', 'p004966.npz', 'p004967.npz', 'p004968.npz', 'p004969.npz', 'p004970.npz', 'p004971.npz', 'p004973.npz', 'p004974.npz', 'p004977.npz', 'p004978.npz', 'p004979.npz', 'p004980.npz', 'p004981.npz', 'p004985.npz', 'p004986.npz', 'p004987.npz', 'p004988.npz', 'p004992.npz', 'p004993.npz', 'p004996.npz', 'p004997.npz', 'p004999.npz', 'p005000.npz', 'p005001.npz', 'p005002.npz', 'p005003.npz', 'p005004.npz', 'p005006.npz', 'p005009.npz', 'p005011.npz', 'p005015.npz', 'p005016.npz', 'p005017.npz', 'p005020.npz', 'p005021.npz', 'p005023.npz', 'p005024.npz', 'p005025.npz', 'p005027.npz', 'p005028.npz', 'p005029.npz', 'p005030.npz', 'p005031.npz', 'p005032.npz', 'p005033.npz', 'p005035.npz', 'p005036.npz', 'p005038.npz', 'p005045.npz', 'p005046.npz', 'p005047.npz', 'p005048.npz', 'p005049.npz', 'p005051.npz', 'p005052.npz', 'p005053.npz', 'p005054.npz', 'p005057.npz', 'p005058.npz', 'p005061.npz', 'p005062.npz', 'p005065.npz', 'p005068.npz', 'p005069.npz', 'p005070.npz', 'p005075.npz', 'p005076.npz', 'p005078.npz', 'p005080.npz', 'p005081.npz', 'p005084.npz', 'p005086.npz', 'p005088.npz', 'p005090.npz', 'p005091.npz', 'p005096.npz', 'p005100.npz', 'p005101.npz', 'p005105.npz', 'p005108.npz', 'p005109.npz', 'p005110.npz', 'p005113.npz', 'p005114.npz', 'p005117.npz', 'p005119.npz', 'p005120.npz', 'p005122.npz', 'p005124.npz', 'p005126.npz', 'p005129.npz', 'p005131.npz', 'p005132.npz', 'p005135.npz', 'p005139.npz', 'p005141.npz', 'p005142.npz', 'p005143.npz', 'p005145.npz', 'p005146.npz', 'p005147.npz', 'p005150.npz', 'p005151.npz', 'p005156.npz', 'p005160.npz', 'p005162.npz', 'p005163.npz', 'p005164.npz', 'p005166.npz', 'p005167.npz', 'p005169.npz', 'p005170.npz', 'p005171.npz', 'p005172.npz', 'p005175.npz', 'p005183.npz', 'p005188.npz', 'p005189.npz', 'p005191.npz', 'p005192.npz', 'p005193 (2).npz', 'p005193.npz', 'p005197.npz', 'p005201.npz', 'p005202.npz', 'p005205.npz', 'p005209.npz', 'p005210.npz', 'p005218.npz', 'p005221.npz', 'p005222.npz', 'p005224.npz', 'p005225.npz', 'p005227.npz', 'p005228.npz', 'p005229.npz', 'p005231.npz', 'p005232.npz', 'p005234.npz', 'p005235.npz', 'p005236.npz', 'p005239.npz', 'p005240.npz', 'p005241.npz', 'p005242.npz', 'p005243.npz', 'p005245.npz', 'p005246.npz', 'p005249.npz', 'p005251.npz', 'p005252.npz', 'p005253.npz', 'p005255.npz', 'p005258.npz', 'p005259.npz', 'p005262.npz', 'p005263.npz', 'p005264.npz', 'p005265.npz', 'p005266.npz', 'p005267.npz', 'p005268.npz', 'p005272.npz', 'p005273.npz', 'p005278.npz', 'p005279.npz', 'p005280.npz', 'p005281.npz', 'p005282.npz', 'p005285.npz', 'p005288.npz', 'p005290.npz', 'p005292.npz', 'p005294.npz', 'p005295.npz', 'p005298.npz', 'p005300.npz', 'p005301.npz', 'p005308.npz', 'p005309.npz', 'p005310.npz', 'p005311.npz', 'p005312.npz', 'p005315.npz', 'p005320.npz', 'p005323.npz', 'p005325.npz', 'p005328.npz', 'p005331.npz', 'p005337.npz', 'p005345.npz', 'p005346.npz', 'p005347.npz', 'p005350.npz', 'p005351.npz', 'p005352.npz', 'p005354.npz', 'p005355.npz', 'p005356.npz', 'p005357.npz', 'p005358.npz', 'p005359.npz', 'p005361.npz', 'p005363.npz', 'p005364.npz', 'p005365.npz', 'p005366.npz', 'p005367.npz', 'p005369.npz', 'p005371.npz', 'p005375.npz', 'p005377.npz', 'p005378.npz', 'p005379.npz', 'p005381.npz', 'p005382 (2).npz', 'p005382.npz', 'p005386.npz', 'p005388.npz', 'p005389.npz', 'p005391.npz', 'p005392.npz', 'p005393.npz', 'p005394.npz', 'p005395.npz', 'p005397.npz', 'p005399.npz', 'p005402.npz', 'p005404.npz', 'p005405.npz', 'p005406.npz', 'p005408.npz', 'p005410.npz', 'p005412.npz', 'p005416.npz', 'p005417.npz', 'p005418.npz', 'p005420.npz', 'p005424.npz', 'p005425.npz', 'p005427.npz', 'p005428.npz', 'p005429.npz', 'p005430.npz', 'p005431.npz', 'p005433.npz', 'p005438.npz', 'p005441.npz', 'p005442.npz', 'p005443.npz', 'p005445.npz', 'p005449.npz', 'p005450.npz', 'p005452.npz', 'p005453 (2).npz', 'p005453.npz', 'p005454.npz', 'p005464.npz', 'p005466.npz', 'p005468.npz', 'p005469.npz', 'p005470.npz', 'p005471.npz', 'p005474.npz', 'p005476.npz', 'p005478.npz', 'p005480.npz', 'p005482.npz', 'p005483.npz', 'p005484.npz', 'p005486.npz', 'p005487.npz', 'p005492.npz', 'p005502.npz', 'p005506.npz', 'p005508.npz', 'p005509.npz', 'p005511.npz', 'p005512.npz', 'p005513.npz', 'p005516.npz', 'p005519.npz', 'p005521.npz', 'p005523.npz', 'p005525.npz', 'p005526.npz', 'p005528.npz', 'p005530.npz', 'p005531.npz', 'p005533.npz', 'p005534.npz', 'p005536.npz', 'p005537.npz', 'p005543.npz', 'p005545.npz', 'p005547.npz', 'p005548.npz', 'p005549.npz', 'p005550.npz', 'p005552.npz', 'p005553.npz', 'p005554.npz', 'p005555.npz', 'p005556.npz', 'p005558.npz', 'p005560.npz', 'p005563.npz', 'p005565.npz', 'p005566.npz', 'p005569.npz', 'p005571.npz', 'p005573.npz', 'p005578.npz', 'p005581.npz', 'p005584.npz', 'p005585.npz', 'p005588.npz', 'p005593.npz', 'p005594.npz', 'p005595.npz', 'p005596.npz', 'p005597.npz', 'p005598.npz', 'p005600.npz', 'p005602.npz', 'p005603.npz', 'p005605.npz', 'p005606.npz', 'p005607.npz', 'p005609.npz', 'p005612.npz', 'p005613.npz', 'p005614.npz', 'p005616.npz', 'p005619.npz', 'p005620.npz', 'p005622.npz', 'p005626.npz', 'p005628.npz', 'p005630.npz', 'p005632.npz', 'p005633.npz', 'p005636.npz', 'p005637.npz', 'p005641.npz', 'p005642.npz', 'p005643.npz', 'p005644.npz', 'p005647.npz', 'p005648.npz', 'p005651.npz', 'p005655.npz', 'p005660.npz', 'p005661.npz', 'p005663.npz', 'p005665.npz', 'p005666.npz', 'p005668.npz', 'p005669.npz', 'p005671.npz', 'p005672.npz', 'p005674.npz', 'p005675.npz', 'p005677.npz', 'p005678.npz', 'p005679.npz', 'p005680.npz', 'p005682.npz', 'p005684.npz', 'p005685.npz', 'p005686.npz', 'p005687.npz', 'p005693.npz', 'p005694.npz', 'p005696.npz', 'p005698.npz', 'p005700.npz', 'p005701.npz', 'p005704.npz', 'p005708.npz', 'p005711.npz', 'p005712.npz', 'p005714.npz', 'p005719.npz', 'p005722.npz', 'p005723.npz', 'p005727.npz', 'p005730.npz', 'p005731.npz', 'p005732.npz', 'p005733.npz', 'p005736.npz', 'p005737.npz', 'p005739.npz', 'p005740.npz', 'p005741.npz', 'p005742.npz', 'p005744.npz', 'p005747.npz', 'p005754.npz', 'p005755.npz', 'p005756.npz', 'p005758.npz', 'p005760.npz', 'p005761.npz', 'p005762.npz', 'p005768.npz', 'p005770.npz', 'p005772.npz', 'p005774.npz', 'p005777.npz', 'p005778.npz', 'p005780.npz', 'p005782.npz', 'p005786.npz', 'p005790.npz', 'p005791.npz', 'p005792.npz', 'p005793.npz', 'p005794.npz', 'p005796.npz', 'p005797.npz', 'p005800.npz', 'p005801.npz', 'p005802.npz', 'p005803.npz', 'p005805.npz', 'p005806.npz', 'p005807.npz', 'p005808.npz', 'p005809.npz', 'p005810.npz', 'p005811.npz', 'p005813.npz', 'p005816.npz', 'p005817.npz', 'p005820.npz', 'p005824.npz', 'p005831.npz', 'p005833.npz', 'p005834.npz', 'p005835.npz', 'p005836.npz', 'p005840.npz', 'p005841.npz', 'p005842.npz', 'p005843.npz', 'p005844.npz', 'p005846.npz', 'p005848.npz', 'p005850.npz', 'p005851.npz', 'p005854.npz', 'p005857.npz', 'p005859.npz', 'p005861.npz', 'p005864.npz', 'p005866.npz', 'p005869.npz', 'p005873.npz', 'p005874.npz', 'p005876.npz', 'p005877.npz', 'p005878.npz', 'p005879.npz', 'p005880.npz', 'p005881.npz', 'p005884.npz', 'p005885.npz', 'p005888.npz', 'p005891.npz', 'p005894.npz', 'p005896.npz', 'p005897.npz', 'p005903.npz', 'p005906.npz', 'p005913.npz', 'p005915.npz', 'p005918.npz', 'p005922.npz', 'p005923.npz', 'p005924.npz', 'p005925.npz', 'p005927.npz', 'p005929.npz', 'p005930.npz', 'p005932.npz', 'p005933.npz', 'p005934.npz', 'p005937.npz', 'p005938.npz', 'p005939.npz', 'p005942.npz', 'p005943.npz', 'p005944.npz', 'p005945.npz', 'p005946.npz', 'p005950.npz', 'p005951.npz', 'p005958.npz', 'p005966.npz', 'p005967.npz', 'p005968.npz', 'p005969.npz', 'p005974.npz', 'p005977.npz', 'p005978.npz', 'p005980.npz', 'p005983.npz', 'p005984.npz', 'p005988.npz', 'p005989.npz', 'p005991.npz', 'p005996.npz', 'p005998.npz', 'p005999.npz', 'p006000.npz', 'p006002.npz', 'p006003.npz', 'p006004.npz', 'p006006.npz', 'p006008.npz', 'p006009.npz', 'p006014.npz', 'p006015.npz', 'p006016.npz', 'p006017.npz', 'p006018.npz', 'p006021.npz', 'p006023.npz', 'p006025.npz', 'p006026.npz', 'p006028.npz', 'p006031.npz', 'p006034.npz', 'p006037.npz', 'p006038.npz', 'p006039.npz', 'p006040.npz', 'p006041.npz', 'p006042.npz', 'p006043.npz', 'p006044.npz', 'p006046.npz', 'p006047.npz', 'p006048.npz', 'p006050.npz', 'p006051.npz', 'p006052 (2).npz', 'p006052.npz', 'p006055.npz', 'p006056.npz', 'p006057.npz', 'p006058.npz', 'p006062.npz', 'p006066.npz', 'p006069.npz', 'p006077.npz', 'p006079.npz', 'p006080.npz', 'p006081.npz', 'p006082.npz', 'p006084.npz', 'p006086.npz', 'p006087.npz', 'p006088.npz', 'p006090.npz', 'p006116.npz', 'p006158.npz', 'p006534.npz', 'p006539.npz', 'p006581.npz', 'p006621.npz', 'p006692.npz', 'p006702.npz', 'p006728.npz', 'p006875.npz', 'p007184.npz', 'p007251.npz', 'p007415.npz', 'p007445.npz', 'p007472.npz', 'p007517.npz', 'p007529.npz', 'p007614.npz', 'p007629.npz', 'p007654.npz', 'p007695.npz', 'p007825.npz', 'p007966.npz', 'p008061.npz', 'p008141.npz', 'p008142.npz', 'p008167.npz', 'p008281.npz', 'p008318.npz', 'p008396.npz', 'p008748.npz', 'p008780.npz', 'p008795.npz', 'p008799.npz', 'p008848.npz', 'p008915.npz', 'p009124.npz', 'p009128.npz', 'p009258.npz', 'p009460.npz', 'p009473.npz', 'p009889.npz', 'p009993.npz', 'p010049.npz', 'p010152.npz', 'p010425.npz', 'p010464.npz', 'p010475.npz', 'p010629.npz', 'p010667.npz', 'p010694.npz', 'p010774.npz', 'p010842.npz', 'p010852.npz', 'p011003.npz', 'p011018.npz', 'p011187.npz', 'p011318.npz', 'p011330.npz', 'p011342.npz', 'p011388.npz', 'p011431.npz', 'p011700.npz', 'p011723.npz', 'p011727.npz', 'p011901.npz', 'p011957.npz', 'p012008.npz', 'p012122.npz', 'p012174.npz', 'p012175.npz', 'p012306.npz', 'p012344.npz', 'p012351.npz', 'p012365.npz', 'p012388.npz', 'p012508.npz', 'p012631.npz', 'p012799.npz', 'p012878.npz', 'p013110.npz', 'p013121.npz', 'p013214.npz', 'p013253.npz', 'p013373.npz', 'p013593.npz', 'p013600.npz', 'p013618.npz', 'p013628.npz', 'p013710.npz', 'p013948.npz', 'p014096.npz', 'p014279.npz', 'p014325.npz', 'p014328.npz', 'p014533.npz', 'p014579.npz', 'p014592.npz', 'p014714.npz', 'p014755.npz', 'p014836.npz', 'p014873.npz', 'p014936.npz', 'p014947.npz', 'p015046.npz', 'p015218.npz', 'p015298.npz', 'p015301.npz', 'p015480.npz', 'p015488.npz', 'p015716.npz', 'p015852.npz', 'p015902.npz', 'p016024.npz', 'p016063.npz', 'p016088.npz', 'p016112.npz', 'p016139.npz', 'p016258.npz', 'p016265.npz', 'p016275.npz', 'p016391.npz', 'p016590.npz', 'p016619.npz', 'p016856.npz', 'p016909.npz', 'p016992.npz', 'p017002.npz', 'p017026.npz', 'p017122.npz', 'p017539.npz', 'p017582.npz', 'p017692.npz', 'p017757.npz', 'p017791.npz', 'p017795.npz', 'p017848.npz', 'p017875.npz', 'p017954.npz', 'p018123.npz', 'p018469.npz', 'p018626.npz', 'p018642.npz', 'p018727.npz', 'p018753.npz', 'p018846.npz', 'p018892.npz', 'p018896.npz', 'p018921.npz', 'p018970.npz', 'p018971.npz', 'p018975.npz', 'p018996.npz', 'p019038.npz', 'p019311.npz', 'p019578.npz', 'p019700.npz', 'p019975.npz', 'p020060.npz', 'p020124.npz', 'p020132.npz', 'p020410.npz', 'p020479.npz', 'p021002.npz', 'p021090.npz', 'p021139.npz', 'p021148.npz', 'p021151.npz', 'p021202.npz', 'p021247.npz', 'p021444.npz', 'p021448.npz', 'p021630.npz', 'p021706.npz', 'p021730.npz', 'p021786.npz', 'p021819.npz', 'p021860.npz', 'p021901.npz', 'p022140.npz', 'p022180.npz', 'p022289.npz', 'p022316.npz', 'p022335.npz', 'p022364.npz', 'p022383.npz', 'p022418.npz', 'p022423.npz', 'p022462.npz', 'p022557.npz', 'p022585.npz', 'p022769.npz', 'p022782.npz', 'p022933.npz', 'p023038.npz', 'p023100.npz', 'p023201.npz', 'p023325.npz', 'p023363.npz', 'p023380.npz', 'p023452.npz', 'p023503.npz', 'p023613.npz', 'p023657.npz', 'p023674.npz', 'p023762.npz', 'p023824.npz', 'p023876.npz', 'p023913.npz', 'p023933.npz', 'p024084.npz', 'p024123.npz', 'p024244.npz', 'p024477.npz', 'p024810.npz', 'p024825.npz', 'p024942.npz', 'p025189.npz', 'p025197.npz', 'p025225.npz', 'p025284.npz', 'p025581.npz', 'p025658.npz', 'p025662.npz', 'p025724.npz', 'p025757.npz', 'p025862.npz', 'p026211.npz', 'p026398.npz', 'p026469.npz', 'p026502.npz', 'p026632.npz', 'p026863.npz', 'p026868.npz', 'p026897.npz', 'p026978.npz', 'p027083.npz', 'p027084.npz', 'p027106.npz', 'p027147.npz', 'p027162.npz', 'p027172.npz', 'p027192.npz', 'p027194.npz', 'p027195.npz', 'p027200.npz', 'p027212.npz', 'p027232.npz', 'p027241.npz', 'p027245.npz', 'p027337.npz', 'p027338.npz', 'p027374.npz', 'p027425.npz', 'p027434.npz', 'p027436.npz', 'p027446.npz', 'p027530.npz', 'p027542.npz', 'p027551.npz', 'p027554.npz', 'p027585.npz', 'p027636.npz', 'p027638.npz', 'p027648.npz', 'p027661.npz', 'p027687.npz', 'p027689.npz', 'p027696.npz', 'p027708.npz', 'p027710.npz', 'p027796.npz', 'p027801.npz', 'p027833.npz', 'p027845.npz', 'p027884.npz', 'p027887.npz', 'p028044.npz', 'p028048.npz', 'p028075.npz', 'p028077.npz', 'p028079.npz', 'p028083.npz', 'p028095.npz', 'p028166.npz', 'p028170.npz', 'p028172.npz', 'p028187.npz', 'p028189.npz', 'p028221.npz', 'p028260.npz', 'p028270.npz', 'p028331.npz', 'p028338.npz', 'p028354.npz', 'p028364.npz', 'p028419.npz', 'p028423.npz', 'p028499.npz', 'p028505.npz', 'p028507.npz', 'p028508.npz', 'p028510.npz', 'p028541.npz', 'p028611.npz', 'p028616.npz', 'p028625.npz', 'p028644.npz', 'p028698.npz', 'p028707.npz', 'p028758.npz', 'p028762.npz', 'p028774.npz', 'p028775.npz', 'p028808.npz', 'p028813.npz', 'p028827.npz', 'p028882.npz', 'p028897.npz', 'p028901.npz', 'p028902.npz', 'p028903.npz', 'p028905.npz', 'p028909.npz', 'p028910.npz', 'p028927.npz', 'p029035.npz', 'p029057.npz', 'p029066.npz', 'p029073.npz', 'p029102.npz', 'p029106.npz', 'p029120.npz', 'p029127.npz', 'p029137.npz', 'p029164.npz', 'p029167.npz', 'p029199.npz', 'p029215.npz', 'p029336.npz', 'p029343.npz', 'p029426.npz', 'p029477.npz', 'p029503.npz', 'p029527.npz', 'p029529.npz', 'p029530.npz', 'p029541.npz', 'p029569.npz', 'p029664.npz', 'p029712.npz', 'p029769.npz', 'p029770.npz', 'p029799.npz', 'p029869.npz', 'p029961.npz', 'p029968.npz', 'p030011.npz', 'p030026.npz', 'p030047.npz', 'p030054.npz', 'p030142.npz', 'p030144.npz', 'p030149.npz', 'p030160.npz', 'p030170.npz', 'p030208.npz', 'p030220.npz', 'p030222.npz', 'p030225.npz', 'p030296.npz', 'p030297.npz', 'p030457.npz', 'p030464.npz', 'p030477.npz', 'p030484.npz', 'p030486.npz', 'p030509.npz', 'p030542.npz', 'p030575.npz', 'p030582.npz', 'p030589.npz', 'p030591.npz', 'p030640.npz', 'p030647.npz', 'p030669.npz', 'p030670.npz', 'p030785.npz', 'p030822.npz', 'p030829.npz', 'p030851.npz', 'p030864.npz', 'p030887.npz', 'p031019.npz', 'p031021.npz', 'p031032.npz', 'p031034.npz', 'p031054.npz', 'p031058.npz', 'p031060.npz', 'p031061.npz', 'p031062.npz', 'p031127.npz', 'p031128.npz', 'p031135.npz', 'p031140.npz', 'p031160.npz', 'p031167.npz', 'p031171.npz', 'p031187.npz', 'p031191.npz', 'p031206.npz', 'p031238.npz', 'p031260.npz', 'p031267.npz', 'p031284.npz', 'p031290.npz', 'p031336.npz', 'p031405.npz', 'p031470.npz', 'p031525.npz', 'p031574.npz', 'p031618.npz', 'p031620.npz', 'p031633.npz', 'p031684.npz', 'p031782.npz', 'p031911.npz', 'p031942.npz', 'p031977.npz', 'p031989.npz', 'p031994.npz', 'p032012.npz', 'p032020.npz', 'p032047.npz', 'p032064.npz', 'p032067.npz', 'p032068.npz', 'p032082.npz', 'p032084.npz', 'p032085.npz', 'p032166.npz', 'p032179.npz', 'p032195.npz', 'p032247.npz', 'p032288.npz', 'p032303.npz', 'p032361.npz', 'p032377.npz', 'p032380.npz', 'p032420.npz', 'p032434.npz', 'p032447.npz', 'p032474.npz', 'p032582.npz', 'p032605.npz', 'p032632.npz', 'p032701.npz', 'p032708.npz', 'p032763.npz', 'p032796.npz', 'p032797.npz', 'p040000.npz', 'p040057.npz', 'p040059.npz', 'p040068.npz', 'p040083.npz', 'p040084.npz', 'p040133.npz', 'p040161.npz', 'p040241.npz', 'p040299.npz', 'p040305.npz', 'p040425.npz', 'p040435.npz', 'p040463.npz', 'p040472.npz', 'p040483.npz', 'p040569.npz', 'p040577.npz', 'p040673.npz', 'p040706.npz', 'p040723.npz', 'p040724.npz', 'p040745.npz', 'p040767.npz', 'p040822.npz', 'p040831.npz', 'p040866.npz', 'p040867.npz', 'p040882.npz', 'p040897.npz', 'p040911.npz', 'p040934.npz', 'p040950.npz', 'p040967.npz', 'p040972.npz', 'p040999.npz', 'p041022.npz', 'p041107.npz', 'p041163.npz', 'p041194.npz', 'p041217.npz', 'p041359.npz', 'p041405.npz', 'p041447.npz', 'p041493.npz', 'p041588.npz', 'p041589.npz', 'p041702.npz', 'p041733.npz', 'p041782.npz', 'p041783.npz', 'p041803.npz', 'p041823.npz', 'p041897.npz', 'p041929.npz', 'p041976.npz', 'p041981.npz', 'p042060.npz', 'p042075.npz', 'p042124.npz', 'p042130.npz', 'p042141.npz', 'p042210.npz', 'p042255.npz', 'p042285.npz', 'p042311.npz', 'p042327.npz', 'p042396.npz', 'p042397.npz', 'p042438.npz', 'p042477.npz', 'p042509.npz', 'p042510.npz', 'p042530.npz', 'p042590.npz', 'p042609.npz', 'p042694.npz', 'p042696.npz', 'p042728.npz', 'p042763.npz', 'p042781.npz', 'p042819.npz', 'p042820.npz', 'p042858.npz', 'p042875.npz', 'p042904.npz', 'p042930.npz', 'p042937.npz', 'p043086.npz', 'p043116.npz', 'p043150.npz', 'p043209.npz', 'p043220.npz', 'p043274.npz', 'p043323.npz', 'p043392.npz', 'p043439.npz', 'p043447.npz', 'p043482.npz', 'p043484.npz', 'p043559.npz', 'p043563.npz', 'p043571.npz', 'p043585.npz', 'p043601.npz', 'p043673.npz', 'p043737.npz', 'p043738.npz', 'p043770.npz', 'p043774.npz', 'p043798.npz', 'p043803.npz', 'p043817.npz', 'p043827.npz', 'p043911.npz', 'p043946.npz', 'p043961.npz', 'p044018.npz', 'p044036.npz', 'p044061.npz', 'p044083.npz', 'p044115.npz', 'p044126.npz', 'p044206.npz', 'p044207.npz', 'p044248.npz', 'p044255.npz', 'p044373.npz', 'p044377.npz', 'p044500.npz', 'p044521.npz', 'p044532.npz', 'p044534.npz', 'p044597.npz', 'p044600.npz', 'p044622.npz', 'p044653.npz', 'p044715.npz', 'p044723.npz', 'p044735.npz', 'p044748.npz', 'p044773.npz', 'p044781.npz', 'p044788.npz', 'p044789.npz', 'p044799.npz', 'p044807.npz', 'p044827.npz', 'p044829.npz', 'p044941.npz', 'p044969.npz', 'p044979.npz', 'p045032.npz', 'p045127.npz', 'p045132.npz', 'p045138.npz', 'p045152.npz', 'p045226.npz', 'p045249.npz', 'p045300.npz', 'p045317.npz', 'p045321.npz', 'p045329.npz', 'p045344.npz', 'p045346.npz', 'p045355.npz', 'p045431.npz', 'p045492.npz', 'p045580.npz', 'p045583.npz', 'p045608.npz', 'p045657.npz', 'p045684.npz', 'p045703.npz', 'p045719.npz', 'p045736.npz', 'p045768.npz', 'p045770.npz', 'p045774.npz', 'p045797.npz', 'p045805.npz', 'p045838.npz', 'p045910.npz', 'p045918.npz', 'p045979.npz', 'p046034.npz', 'p046041.npz', 'p046081.npz', 'p046092.npz', 'p046116.npz', 'p046148.npz', 'p046156.npz', 'p046195.npz', 'p046205.npz', 'p046223.npz', 'p046242.npz', 'p046260.npz', 'p046305.npz', 'p046320.npz', 'p046415.npz', 'p046429.npz', 'p046480.npz', 'p046497.npz', 'p046510.npz', 'p046550.npz', 'p046551.npz', 'p046566.npz', 'p046611.npz', 'p046651.npz', 'p046695.npz', 'p046723.npz', 'p046744.npz', 'p046809.npz', 'p046858.npz', 'p046938.npz', 'p046968.npz', 'p047013.npz', 'p047045.npz', 'p047046.npz', 'p047058.npz', 'p047137.npz', 'p047203.npz', 'p047234.npz', 'p047255.npz', 'p047275.npz', 'p047287.npz', 'p047309.npz', 'p047335.npz', 'p047453.npz', 'p047543.npz', 'p047613.npz', 'p047677.npz', 'p047731.npz', 'p047733.npz', 'p047747.npz', 'p047757.npz', 'p047758.npz', 'p047814.npz', 'p047858.npz', 'p047874.npz', 'p047978.npz', 'p047980.npz', 'p047983.npz', 'p047989.npz', 'p048038.npz', 'p048056.npz', 'p048118.npz', 'p048121.npz', 'p048124.npz', 'p048149.npz', 'p048212.npz', 'p048239.npz', 'p048267.npz', 'p048314.npz', 'p048327.npz', 'p048351.npz', 'p048388.npz', 'p048397.npz', 'p048398.npz', 'p048414.npz', 'p048425.npz', 'p048479.npz', 'p048480.npz', 'p048536.npz', 'p048580.npz', 'p048647.npz', 'p048690.npz', 'p048736.npz', 'p048756.npz', 'p048774.npz', 'p048826.npz', 'p048872.npz', 'p048895.npz', 'p048946.npz', 'p049023.npz', 'p049024.npz', 'p049038.npz', 'p049067.npz', 'p049068.npz', 'p049140.npz', 'p049191.npz', 'p049255.npz', 'p049261.npz', 'p049311.npz', 'p049367.npz', 'p049431.npz', 'p049520.npz', 'p049545.npz', 'p049555.npz', 'p049578.npz', 'p049613.npz', 'p049622.npz', 'p049632.npz', 'p049649.npz', 'p049650.npz', 'p049723.npz', 'p049780.npz', 'p049868.npz', 'p049881.npz', 'p049925.npz', 'p049970.npz', 'p049984.npz', 'p050034.npz', 'p050093.npz', 'p050094.npz', 'p050136.npz', 'p050161.npz', 'p050182.npz', 'p050201.npz', 'p050273.npz', 'p050302.npz', 'p050336.npz', 'p050385.npz', 'p050480.npz', 'p050532.npz', 'p050561.npz', 'p050579.npz', 'p050634.npz', 'p050664.npz', 'p050721.npz', 'p050735.npz', 'p050767.npz', 'p050804.npz', 'p050817.npz', 'p050822.npz', 'p050827.npz', 'p050847.npz', 'p050863.npz', 'p050877.npz', 'p050880.npz', 'p050888.npz', 'p050899.npz', 'p050976.npz', 'p050991.npz', 'p051000.npz', 'p051013.npz', 'p051017.npz', 'p051021.npz', 'p051064.npz', 'p051072.npz', 'p051078.npz', 'p051121.npz', 'p051188.npz', 'p051202.npz', 'p051301.npz', 'p051321.npz', 'p051327.npz', 'p051374.npz', 'p051451.npz', 'p051459.npz', 'p051482.npz', 'p051497.npz', 'p051515.npz', 'p051577.npz', 'p051582.npz', 'p051596.npz', 'p051597.npz', 'p051724.npz', 'p051790.npz', 'p051795.npz', 'p051805.npz', 'p051821.npz', 'p051858.npz', 'p051864.npz', 'p051871.npz', 'p051890.npz', 'p051909.npz', 'p051912.npz', 'p051951.npz', 'p051986.npz', 'p051992.npz', 'p052011.npz', 'p052057.npz', 'p052087.npz', 'p052146.npz', 'p052191.npz', 'p052207.npz', 'p052234.npz', 'p052238.npz', 'p052264.npz', 'p052269.npz', 'p052296.npz', 'p052307.npz', 'p052355.npz', 'p052370.npz', 'p052436.npz', 'p052441.npz', 'p052453.npz', 'p052503.npz', 'p052529.npz', 'p052532.npz', 'p052547.npz', 'p052550.npz', 'p052556.npz', 'p052620.npz', 'p052622.npz', 'p052641.npz', 'p052666.npz', 'p052693.npz', 'p052696.npz', 'p052710.npz', 'p052740.npz', 'p052766.npz', 'p052779.npz', 'p052816.npz', 'p052846.npz', 'p052867.npz', 'p052875.npz', 'p052900.npz', 'p052932.npz', 'p052934.npz', 'p052974.npz', 'p053013.npz', 'p053015.npz', 'p053036.npz', 'p053102.npz', 'p053149.npz', 'p053173.npz', 'p053176.npz', 'p053191.npz', 'p053216.npz', 'p053238.npz', 'p053247.npz', 'p053252.npz', 'p053282.npz', 'p053283.npz', 'p053294.npz', 'p053342.npz', 'p053348.npz', 'p053404.npz', 'p053417.npz', 'p053425.npz', 'p053435.npz', 'p053440.npz', 'p053462.npz', 'p053514.npz', 'p053548.npz', 'p053567.npz', 'p053608.npz', 'p053632.npz', 'p053636.npz', 'p053639.npz', 'p053663.npz', 'p053707.npz', 'p053724.npz', 'p053865.npz', 'p053878.npz', 'p053978.npz', 'p054005.npz', 'p054020.npz', 'p054043.npz', 'p054073.npz', 'p054088.npz', 'p054110.npz', 'p054120.npz', 'p054132.npz', 'p054147.npz', 'p054197.npz', 'p054385.npz', 'p054397.npz', 'p054420.npz', 'p054444.npz', 'p054470.npz', 'p054541.npz', 'p054585.npz', 'p054586.npz', 'p054600.npz', 'p054610.npz', 'p054757.npz', 'p054775.npz', 'p054822.npz', 'p054826.npz', 'p054893.npz', 'p054911.npz', 'p054961.npz', 'p054969.npz', 'p054987.npz', 'p055030.npz', 'p055090.npz', 'p055094.npz', 'p055260.npz', 'p055263.npz', 'p055337.npz', 'p055363.npz', 'p055365.npz', 'p055393.npz', 'p055446.npz', 'p055523.npz', 'p055545.npz', 'p055563.npz', 'p055657.npz', 'p055677.npz', 'p055716.npz', 'p055722.npz', 'p055725.npz', 'p055729.npz', 'p055730.npz', 'p055772.npz', 'p055821.npz', 'p055849.npz', 'p055853.npz', 'p055920.npz', 'p055921.npz', 'p055922.npz', 'p055973.npz', 'p055992.npz', 'p056038.npz', 'p056069.npz', 'p056076.npz', 'p056130.npz', 'p056201.npz', 'p056229.npz', 'p056243.npz', 'p056287.npz', 'p056289.npz', 'p056290.npz', 'p056307.npz', 'p056319.npz', 'p056322.npz', 'p056361.npz', 'p056364.npz', 'p056440.npz', 'p056460.npz', 'p056490.npz', 'p056502.npz', 'p056583.npz', 'p056593.npz', 'p056634.npz', 'p056740.npz', 'p056746.npz', 'p056751.npz', 'p056796.npz', 'p056867.npz', 'p056878.npz', 'p056890.npz', 'p056963.npz', 'p057001.npz', 'p057023.npz', 'p057091.npz', 'p057093.npz', 'p057130.npz', 'p057158.npz', 'p057171.npz', 'p057199.npz', 'p057208.npz', 'p057239.npz', 'p057283.npz', 'p057293.npz', 'p057314.npz', 'p057321.npz', 'p057476.npz', 'p057489.npz', 'p057490.npz', 'p057562.npz', 'p057568.npz', 'p057585.npz', 'p057619.npz', 'p057697.npz', 'p057752.npz', 'p057774.npz', 'p057815.npz', 'p057886.npz', 'p057899.npz', 'p057935.npz', 'p057968.npz', 'p058008.npz', 'p058010.npz', 'p058099.npz', 'p058128.npz', 'p058135.npz', 'p058187.npz', 'p058205.npz', 'p058218.npz', 'p058237.npz', 'p058238.npz', 'p058242.npz', 'p058247.npz', 'p058286.npz', 'p058321.npz', 'p058327.npz', 'p058337.npz', 'p058431.npz', 'p058483.npz', 'p058586.npz', 'p058662.npz', 'p058732.npz', 'p058740.npz', 'p058757.npz', 'p058792.npz', 'p058812.npz', 'p058899.npz', 'p058917.npz', 'p058967.npz', 'p058975.npz', 'p058984.npz', 'p059004.npz', 'p059049.npz', 'p059053.npz', 'p059073.npz', 'p059085.npz', 'p059102.npz', 'p059222.npz', 'p059267.npz', 'p059268.npz', 'p059270.npz', 'p059285.npz', 'p059290.npz', 'p059347.npz', 'p059381.npz', 'p059447.npz', 'p059513.npz', 'p059546.npz', 'p059585.npz', 'p059701.npz', 'p059703.npz', 'p059783.npz', 'p059788.npz', 'p059807.npz', 'p059828.npz', 'p059845.npz', 'p059864.npz', 'p059883.npz', 'p059889.npz', 'p059907.npz', 'p059924.npz', 'p059936.npz', 'p059960.npz', 'p059964.npz', 'p059991.npz', 'p059997.npz', 'p060038.npz', 'p060104.npz', 'p060115.npz', 'p060118.npz', 'p060169.npz', 'p060180.npz', 'p060181.npz', 'p060226.npz', 'p060262.npz', 'p060274.npz', 'p060294.npz', 'p060295.npz', 'p060343.npz', 'p060393.npz', 'p060409.npz', 'p060432.npz', 'p060441.npz', 'p060518.npz', 'p060531.npz', 'p060641.npz', 'p060659.npz', 'p060685.npz', 'p060735.npz', 'p060747.npz', 'p060767.npz', 'p060778.npz', 'p060783.npz', 'p060949.npz', 'p060961.npz', 'p060983.npz', 'p060987.npz', 'p061003.npz', 'p061024.npz', 'p061030.npz', 'p061156.npz', 'p061157.npz', 'p061201.npz', 'p061207.npz', 'p061213.npz', 'p061248.npz', 'p061282.npz', 'p061295.npz', 'p061316.npz', 'p061472.npz', 'p061568.npz', 'p061591.npz', 'p061642.npz', 'p061663.npz', 'p061742.npz', 'p061823.npz', 'p061828.npz', 'p061877.npz', 'p061898.npz', 'p061928.npz', 'p061932.npz', 'p061959.npz', 'p062160.npz', 'p062186.npz', 'p062232.npz', 'p062248.npz', 'p062254.npz', 'p062259.npz', 'p062298.npz', 'p062305.npz', 'p062323.npz', 'p062380.npz', 'p062415.npz', 'p062447.npz', 'p062497.npz', 'p062530.npz', 'p062561.npz', 'p062603.npz', 'p062608.npz', 'p062646.npz', 'p062647.npz', 'p062674.npz', 'p062681.npz', 'p062684.npz', 'p062722.npz', 'p062782.npz', 'p062795.npz', 'p062824.npz', 'p062829.npz', 'p062833.npz', 'p062835.npz', 'p062917.npz', 'p062919.npz', 'p062926.npz', 'p062965.npz', 'p062974.npz', 'p062980.npz', 'p063063.npz', 'p063073.npz', 'p063076.npz', 'p063113.npz', 'p063116.npz', 'p063130.npz', 'p063133.npz', 'p063187.npz', 'p063201.npz', 'p063368.npz', 'p063372.npz', 'p063402.npz', 'p063444.npz', 'p063447.npz', 'p063456.npz', 'p063482.npz', 'p063486.npz', 'p063496.npz', 'p063531.npz', 'p063541.npz', 'p063552.npz', 'p063559.npz', 'p063621.npz', 'p063628.npz', 'p063646.npz', 'p063660.npz', 'p063706.npz', 'p063710.npz', 'p063733.npz', 'p063762.npz', 'p063834.npz', 'p063865.npz', 'p063878.npz', 'p063890.npz', 'p063934.npz', 'p063938.npz', 'p063944.npz', 'p063961.npz', 'p063987.npz', 'p063992.npz', 'p064008.npz', 'p064025.npz', 'p064026.npz', 'p064067.npz', 'p064083.npz', 'p064089.npz', 'p064099.npz', 'p064101.npz', 'p064120.npz', 'p064136.npz', 'p064137.npz', 'p064150.npz', 'p064192.npz', 'p064253.npz', 'p064277.npz', 'p064280.npz', 'p064287.npz', 'p064334.npz', 'p064361.npz', 'p064377.npz', 'p064411.npz', 'p064459.npz', 'p064538.npz', 'p064550.npz', 'p064601.npz', 'p064663.npz', 'p064673.npz', 'p064700.npz', 'p064719.npz', 'p064771.npz', 'p064785.npz', 'p064798.npz', 'p064830.npz', 'p064839.npz', 'p064906.npz', 'p064916.npz', 'p064925.npz', 'p064927.npz', 'p064965.npz', 'p064970.npz', 'p064996.npz', 'p065003.npz', 'p065006.npz', 'p065013.npz', 'p065052.npz', 'p065112.npz', 'p065176.npz', 'p065180.npz', 'p065240.npz', 'p065263.npz', 'p065268.npz', 'p065342.npz', 'p065393.npz', 'p065476.npz', 'p065484.npz', 'p065527.npz', 'p065565.npz', 'p065611.npz', 'p065634.npz', 'p065675.npz', 'p065689.npz', 'p065728.npz', 'p065760.npz', 'p065793.npz', 'p065824.npz', 'p065837.npz', 'p065843.npz', 'p065849.npz', 'p065871.npz', 'p065890.npz', 'p065951.npz', 'p066031.npz', 'p066043.npz', 'p066061.npz', 'p066067.npz', 'p066105.npz', 'p066152.npz', 'p066170.npz', 'p066172.npz', 'p066206.npz', 'p066228.npz', 'p066264.npz', 'p066288.npz', 'p066322.npz', 'p066346.npz', 'p066424.npz', 'p066437.npz', 'p066483.npz', 'p066505.npz', 'p066507.npz', 'p066556.npz', 'p066560.npz', 'p066603.npz', 'p066643.npz', 'p066677.npz', 'p066682.npz', 'p066692.npz', 'p066720.npz', 'p066727.npz', 'p066772.npz', 'p066786.npz', 'p066878.npz', 'p066880.npz', 'p066936.npz', 'p066955.npz', 'p066965.npz', 'p067050.npz', 'p067058.npz', 'p067101.npz', 'p067154.npz', 'p067172.npz', 'p067223.npz', 'p067283.npz', 'p067344.npz', 'p067348.npz', 'p067468.npz', 'p067475.npz', 'p067533.npz', 'p067617.npz', 'p067620.npz', 'p067639.npz', 'p067659.npz', 'p067684.npz', 'p067718.npz', 'p067722.npz', 'p067735.npz', 'p067747.npz', 'p067763.npz', 'p067796.npz', 'p067976.npz', 'p067996.npz', 'p068036.npz', 'p068065.npz', 'p068116.npz', 'p068126.npz', 'p068127.npz', 'p068228.npz', 'p068251.npz', 'p068268.npz', 'p068299.npz', 'p068300.npz', 'p068356.npz', 'p068396.npz', 'p068425.npz', 'p068426.npz', 'p068450.npz', 'p068453.npz', 'p068457.npz', 'p068464.npz', 'p068475.npz', 'p068533.npz', 'p068564.npz', 'p068589.npz', 'p068611.npz', 'p068624.npz', 'p068629.npz', 'p068663.npz', 'p068685.npz', 'p068690.npz', 'p068703.npz', 'p068738.npz', 'p068744.npz', 'p068785.npz', 'p068824.npz', 'p068870.npz', 'p068902.npz', 'p068915.npz', 'p068919.npz', 'p068949.npz', 'p068956.npz', 'p068964.npz', 'p068980.npz', 'p068991.npz', 'p069006.npz', 'p069020.npz', 'p069027.npz', 'p069039.npz', 'p069047.npz', 'p069082.npz', 'p069108.npz', 'p069146.npz', 'p069162.npz', 'p069170.npz', 'p069182.npz', 'p069215.npz', 'p069233.npz', 'p069251.npz', 'p069272.npz', 'p069293.npz', 'p069296.npz', 'p069343.npz', 'p069351.npz', 'p069370.npz', 'p069388.npz', 'p069411.npz', 'p069434.npz', 'p069464.npz', 'p069483.npz', 'p069501.npz', 'p069518.npz', 'p069522.npz', 'p069537.npz', 'p069559.npz', 'p069563.npz', 'p069620.npz', 'p069684.npz', 'p069693.npz', 'p069709.npz', 'p069778.npz', 'p069857.npz', 'p069903.npz', 'p070104.npz', 'p070142.npz', 'p070223.npz', 'p070313.npz', 'p070329.npz', 'p070330.npz', 'p070380.npz', 'p070393.npz', 'p070396.npz', 'p070420.npz', 'p070425.npz', 'p070427.npz', 'p070469.npz', 'p070494.npz', 'p070496.npz', 'p070505.npz', 'p070592.npz', 'p070714.npz', 'p070723.npz', 'p070763.npz', 'p070764.npz', 'p070786.npz', 'p070794.npz', 'p070807.npz', 'p070842.npz', 'p070929.npz', 'p071025.npz', 'p071059.npz', 'p071070.npz', 'p071091.npz', 'p071213.npz', 'p071230.npz', 'p071262.npz', 'p071277.npz', 'p071353.npz', 'p071375.npz', 'p071414.npz', 'p071473.npz', 'p071477.npz', 'p071514.npz', 'p071527.npz', 'p071638.npz', 'p071645.npz', 'p071702.npz', 'p071793.npz', 'p071808.npz', 'p071848.npz', 'p071862.npz', 'p071869.npz', 'p071872.npz', 'p071924.npz', 'p072048.npz', 'p072073.npz', 'p072083.npz', 'p072107.npz', 'p072172.npz', 'p072189.npz', 'p072196.npz', 'p072203.npz', 'p072269.npz', 'p072282.npz', 'p072308.npz', 'p072327.npz', 'p072350.npz', 'p072377.npz', 'p072426.npz', 'p072439.npz', 'p072455.npz', 'p072482.npz', 'p072541.npz', 'p072555.npz', 'p072562.npz', 'p072627.npz', 'p072634.npz', 'p072667.npz', 'p072678.npz', 'p072790.npz', 'p072847.npz', 'p072885.npz', 'p072908.npz', 'p072914.npz', 'p072931.npz', 'p072992.npz', 'p073015.npz', 'p073048.npz', 'p073087.npz', 'p073118.npz', 'p073124.npz', 'p073175.npz', 'p073242.npz', 'p073265.npz', 'p073302.npz', 'p073376.npz', 'p073409.npz', 'p073429.npz', 'p073471.npz', 'p073477.npz', 'p073546.npz', 'p073608.npz', 'p073611.npz', 'p073645.npz', 'p073682.npz', 'p073693.npz', 'p073713.npz', 'p073755.npz', 'p073756.npz', 'p073760.npz', 'p073767.npz', 'p073770.npz', 'p073867.npz', 'p073893.npz', 'p073896.npz', 'p073946.npz', 'p073955.npz', 'p073979.npz', 'p074032.npz', 'p074046.npz', 'p074188.npz', 'p074215.npz', 'p074220.npz', 'p074230.npz', 'p074252.npz', 'p074260.npz', 'p074410.npz', 'p074418.npz', 'p074438.npz', 'p074443.npz', 'p074482.npz', 'p074486.npz', 'p074493.npz', 'p074496.npz', 'p074503.npz', 'p074514.npz', 'p074533.npz', 'p074546.npz', 'p074618.npz', 'p074630.npz', 'p074640.npz', 'p074683.npz', 'p074696.npz', 'p074701.npz', 'p074711.npz', 'p074727.npz', 'p074763.npz', 'p074779.npz', 'p074798.npz', 'p074816.npz', 'p074820.npz', 'p074835.npz', 'p074860.npz', 'p074866.npz', 'p074899.npz', 'p074955.npz', 'p074967.npz', 'p074976.npz', 'p074982.npz', 'p075001.npz', 'p075013.npz', 'p075034.npz', 'p075100.npz', 'p075107.npz', 'p075114.npz', 'p075138.npz', 'p075142.npz', 'p075170.npz', 'p075223.npz', 'p075347.npz', 'p075350.npz', 'p075354.npz', 'p075369.npz', 'p075371.npz', 'p075557.npz', 'p075576.npz', 'p075581.npz', 'p075638.npz', 'p075644.npz', 'p075670.npz', 'p075793.npz', 'p075856.npz', 'p075883.npz', 'p075886.npz', 'p075894.npz', 'p075919.npz', 'p075941.npz', 'p075998.npz', 'p076012.npz', 'p076028.npz', 'p076066.npz', 'p076096.npz', 'p076154.npz', 'p076178.npz', 'p076186.npz', 'p076237.npz', 'p076253.npz', 'p076261.npz', 'p076265.npz', 'p076318.npz', 'p076327.npz', 'p076332.npz', 'p076390.npz', 'p076418.npz', 'p076430.npz', 'p076646.npz', 'p076670.npz', 'p076675.npz', 'p076709.npz', 'p076711.npz', 'p076780.npz', 'p076841.npz', 'p076876.npz', 'p076896.npz', 'p076899.npz', 'p076925.npz', 'p076930.npz', 'p076945.npz', 'p076974.npz', 'p077010.npz', 'p077070.npz', 'p077129.npz', 'p077131.npz', 'p077220.npz', 'p077280.npz', 'p077310.npz', 'p077312.npz', 'p077330.npz', 'p077383.npz', 'p077543.npz', 'p077617.npz', 'p077686.npz', 'p077691.npz', 'p077804.npz', 'p077815.npz', 'p077826.npz', 'p077836.npz', 'p077875.npz', 'p077927.npz', 'p077951.npz', 'p077975.npz', 'p078009.npz', 'p078023.npz', 'p078076.npz', 'p078101.npz', 'p078117.npz', 'p078143.npz', 'p078155.npz', 'p078158.npz', 'p078168.npz', 'p078182.npz', 'p078195.npz', 'p078251.npz', 'p078292.npz', 'p078293.npz', 'p078308.npz', 'p078342.npz', 'p078346.npz', 'p078356.npz', 'p078366.npz', 'p078368.npz', 'p078375.npz', 'p078416.npz', 'p078419.npz', 'p078424.npz', 'p078473.npz', 'p078474.npz', 'p078476.npz', 'p078481.npz', 'p078506.npz', 'p078515.npz', 'p078565.npz', 'p078615.npz', 'p078641.npz', 'p078686.npz', 'p078716.npz', 'p078840.npz', 'p078876.npz', 'p078879.npz', 'p078892.npz', 'p078911.npz', 'p078988.npz', 'p079051.npz', 'p079081.npz', 'p079137.npz', 'p079184.npz', 'p079228.npz', 'p079285.npz', 'p079288.npz', 'p079297.npz', 'p079306.npz', 'p079308.npz', 'p079352.npz', 'p079358.npz', 'p079372.npz', 'p079396.npz', 'p079422.npz', 'p079532.npz', 'p079575.npz', 'p079617.npz', 'p079645.npz', 'p079664.npz', 'p079671.npz', 'p079762.npz', 'p079875.npz', 'p079876.npz', 'p080105.npz', 'p080134.npz', 'p080142.npz', 'p080156.npz', 'p080162.npz', 'p080209.npz', 'p080339.npz', 'p080350.npz', 'p080436.npz', 'p080472.npz', 'p080497.npz', 'p080536.npz', 'p080561.npz', 'p080602.npz', 'p080606.npz', 'p080644.npz', 'p080678.npz', 'p080726.npz', 'p080737.npz', 'p080744.npz', 'p080790.npz', 'p080826.npz', 'p080843.npz', 'p080847.npz', 'p080903.npz', 'p080985.npz', 'p081007.npz', 'p081025.npz', 'p081037.npz', 'p081050.npz', 'p081103.npz', 'p081150.npz', 'p081193.npz', 'p081247.npz', 'p081334.npz', 'p081371.npz', 'p081378.npz', 'p081410.npz', 'p081425.npz', 'p081449.npz', 'p081464.npz', 'p081475.npz', 'p081480.npz', 'p081491.npz', 'p081515.npz', 'p081519.npz', 'p081535.npz', 'p081536.npz', 'p081543.npz', 'p081558.npz', 'p081583.npz', 'p081593.npz', 'p081633.npz', 'p081636.npz', 'p081700.npz', 'p081750.npz', 'p081758.npz', 'p081763.npz', 'p081797.npz', 'p081818.npz', 'p081846.npz', 'p081893.npz', 'p081918.npz', 'p081978.npz', 'p081980.npz', 'p081990.npz', 'p082000.npz', 'p082015.npz', 'p082038.npz', 'p082065.npz', 'p082130.npz', 'p082132.npz', 'p082178.npz', 'p082184.npz', 'p082187.npz', 'p082238.npz', 'p082245.npz', 'p082258.npz', 'p082290.npz', 'p082299.npz', 'p082360.npz', 'p082393.npz', 'p082418.npz', 'p082432.npz', 'p082433.npz', 'p082434.npz', 'p082462.npz', 'p082466.npz', 'p082494.npz', 'p082520.npz', 'p082545.npz', 'p082574.npz', 'p082579.npz', 'p082641.npz', 'p082685.npz', 'p082694.npz', 'p082746.npz', 'p082759.npz', 'p082762.npz', 'p082799.npz', 'p082938.npz', 'p082950.npz', 'p082973.npz', 'p083013.npz', 'p083065.npz', 'p083120.npz', 'p083122.npz', 'p083124.npz', 'p083128.npz', 'p083180.npz', 'p083182.npz', 'p083206.npz', 'p083210.npz', 'p083224.npz', 'p083225.npz', 'p083228.npz', 'p083263.npz', 'p083272.npz', 'p083310.npz', 'p083393.npz', 'p083406.npz', 'p083418.npz', 'p083464.npz', 'p083599.npz', 'p083608.npz', 'p083629.npz', 'p083653.npz', 'p083700.npz', 'p083728.npz', 'p083749.npz', 'p083751.npz', 'p083752.npz', 'p083782.npz', 'p083794.npz', 'p083860.npz', 'p083892.npz', 'p083947.npz', 'p084020.npz', 'p084042.npz', 'p084063.npz', 'p084084.npz', 'p084120.npz', 'p084187.npz', 'p084223.npz', 'p084347.npz', 'p084350.npz', 'p084392.npz', 'p084461.npz', 'p084469.npz', 'p084473.npz', 'p084479.npz', 'p084495.npz', 'p084531.npz', 'p084595.npz', 'p084629.npz', 'p084669.npz', 'p084749.npz', 'p084766.npz', 'p084802.npz', 'p084826.npz', 'p084842.npz', 'p084845.npz', 'p084854.npz', 'p084886.npz', 'p084909.npz', 'p084938.npz', 'p084958.npz', 'p085039.npz', 'p085042.npz', 'p085079.npz', 'p085181.npz', 'p085202.npz', 'p085235.npz', 'p085258.npz', 'p085293.npz', 'p085401.npz', 'p085402.npz', 'p085421.npz', 'p085493.npz', 'p085508.npz', 'p085535.npz', 'p085541.npz', 'p085562.npz', 'p085620.npz', 'p085639.npz', 'p085649.npz', 'p085655.npz', 'p085658.npz', 'p085685.npz', 'p085698.npz', 'p085725.npz', 'p085755.npz', 'p085889.npz', 'p085892.npz', 'p085895.npz', 'p085976.npz', 'p085980.npz', 'p086041.npz', 'p086068.npz', 'p086078.npz', 'p086108.npz', 'p086144.npz', 'p086210.npz', 'p086220.npz', 'p086254.npz', 'p086300.npz', 'p086348.npz', 'p086359.npz', 'p086383.npz', 'p086392.npz', 'p086487.npz', 'p086531.npz', 'p086546.npz', 'p086556.npz', 'p086570.npz', 'p086585.npz', 'p086645.npz', 'p086648.npz', 'p086663.npz', 'p086678.npz', 'p086692.npz', 'p086719.npz', 'p086773.npz', 'p086831.npz', 'p086976.npz', 'p086984.npz', 'p087018.npz', 'p087049.npz', 'p087082.npz', 'p087119.npz', 'p087133.npz', 'p087134.npz', 'p087216.npz', 'p087247.npz', 'p087310.npz', 'p087325.npz', 'p087336.npz', 'p087344.npz', 'p087470.npz', 'p087474.npz', 'p087481.npz', 'p087552.npz', 'p087577.npz', 'p087608.npz', 'p087640.npz', 'p087675.npz', 'p087687.npz', 'p087692.npz', 'p087794.npz', 'p087858.npz', 'p087913.npz', 'p087948.npz', 'p087953.npz', 'p087962.npz', 'p087965.npz', 'p087969.npz', 'p087986.npz', 'p088065.npz', 'p088111.npz', 'p088146.npz', 'p088152.npz', 'p088174.npz', 'p088202.npz', 'p088206.npz', 'p088224.npz', 'p088236.npz', 'p088265.npz', 'p088308.npz', 'p088309.npz', 'p088325.npz', 'p088471.npz', 'p088514.npz', 'p088531.npz', 'p088552.npz', 'p088647.npz', 'p088685.npz', 'p088691.npz', 'p088696.npz', 'p088726.npz', 'p088734.npz', 'p088747.npz', 'p088764.npz', 'p088809.npz', 'p088851.npz', 'p088883.npz', 'p088907.npz', 'p088937.npz', 'p088953.npz', 'p088994.npz', 'p089002.npz', 'p089026.npz', 'p089091.npz', 'p089180.npz', 'p089223.npz', 'p089232.npz', 'p089291.npz', 'p089292.npz', 'p089303.npz', 'p089336.npz', 'p089356.npz', 'p089415.npz', 'p089437.npz', 'p089488.npz', 'p089502.npz', 'p089544.npz', 'p089563.npz', 'p089579.npz', 'p089689.npz', 'p089697.npz', 'p089734.npz', 'p089772.npz', 'p089782.npz', 'p089797.npz', 'p089802.npz', 'p089840.npz', 'p089901.npz', 'p089906.npz', 'p089909.npz', 'p089914.npz', 'p089956.npz', 'p090012.npz', 'p090020.npz', 'p090032.npz', 'p090075.npz', 'p090151.npz', 'p090158.npz', 'p090208.npz', 'p090269.npz', 'p090398.npz', 'p090403.npz', 'p090466.npz', 'p090522.npz', 'p090533.npz', 'p090544.npz', 'p090560.npz', 'p090605.npz', 'p090607.npz', 'p090658.npz', 'p090676.npz', 'p090729.npz', 'p090889.npz', 'p090902.npz', 'p090903.npz', 'p090910.npz', 'p090917.npz', 'p090959.npz', 'p090990.npz', 'p091004.npz', 'p091018.npz', 'p091031.npz', 'p091038.npz', 'p091103.npz', 'p091136.npz', 'p091210.npz', 'p091245.npz', 'p091258.npz', 'p091309.npz', 'p091332.npz', 'p091383.npz', 'p091437.npz', 'p091463.npz', 'p091470.npz', 'p091531.npz', 'p091558.npz', 'p091561.npz', 'p091581.npz', 'p091614.npz', 'p091669.npz', 'p091694.npz', 'p091712.npz', 'p091802.npz', 'p091841.npz', 'p091855.npz', 'p091872.npz', 'p091904.npz', 'p091907.npz', 'p091978.npz', 'p092055.npz', 'p092057.npz', 'p092066.npz', 'p092137.npz', 'p092175.npz', 'p092239.npz', 'p092247.npz', 'p092252.npz', 'p092277.npz', 'p092278.npz', 'p092283.npz', 'p092292.npz', 'p092317.npz', 'p092331.npz', 'p092381.npz', 'p092420.npz', 'p092455.npz', 'p092464.npz', 'p092525.npz', 'p092578.npz', 'p092585.npz', 'p092651.npz', 'p092668.npz', 'p092703.npz', 'p092839.npz', 'p092843.npz', 'p092846.npz', 'p092969.npz', 'p092982.npz', 'p093031.npz', 'p093054.npz', 'p093056.npz', 'p093062.npz', 'p093077.npz', 'p093078.npz', 'p093088.npz', 'p093123.npz', 'p093142.npz', 'p093206.npz', 'p093209.npz', 'p093336.npz', 'p093360.npz', 'p093392.npz', 'p093462.npz', 'p093472.npz', 'p093479.npz', 'p093486.npz', 'p093504.npz', 'p093518.npz', 'p093535.npz', 'p093557.npz', 'p093560.npz', 'p093564.npz', 'p093578.npz', 'p093587.npz', 'p093596.npz', 'p093602.npz', 'p093633.npz', 'p093637.npz', 'p093640.npz', 'p093648.npz', 'p093653.npz', 'p093717.npz', 'p093755.npz', 'p093784.npz', 'p093788.npz', 'p093833.npz', 'p093836.npz', 'p093898.npz', 'p093950.npz', 'p094024.npz', 'p094046.npz', 'p094072.npz', 'p094079.npz', 'p094105.npz', 'p094147.npz', 'p094162.npz', 'p094216.npz', 'p094220.npz', 'p094256.npz', 'p094300.npz', 'p094483.npz', 'p094491.npz', 'p094581.npz', 'p094597.npz', 'p094618.npz', 'p094645.npz', 'p094669.npz', 'p094673.npz', 'p094689.npz', 'p094765.npz', 'p094785.npz', 'p094794.npz', 'p094820.npz', 'p094837.npz', 'p094853.npz', 'p094897.npz', 'p094924.npz', 'p094977.npz', 'p094987.npz', 'p094991.npz', 'p094993.npz', 'p095071.npz', 'p095088.npz', 'p095118.npz', 'p095201.npz', 'p095235.npz', 'p095237.npz', 'p095343.npz', 'p095354.npz', 'p095377.npz', 'p095380.npz', 'p095512.npz', 'p095517.npz', 'p095632.npz', 'p095674.npz', 'p095676.npz', 'p095708.npz', 'p095776.npz', 'p095830.npz', 'p095839.npz', 'p095868.npz', 'p095892.npz', 'p095893.npz', 'p095951.npz', 'p095957.npz', 'p096008.npz', 'p096015.npz', 'p096049.npz', 'p096057.npz', 'p096145.npz', 'p096147.npz', 'p096148.npz', 'p096171.npz', 'p096240.npz', 'p096259.npz', 'p096261.npz', 'p096264.npz', 'p096305.npz', 'p096338.npz', 'p096350.npz', 'p096365.npz', 'p096394.npz', 'p096530.npz', 'p096631.npz', 'p096643.npz', 'p096746.npz', 'p096747.npz', 'p096760.npz', 'p096767.npz', 'p096772.npz', 'p096785.npz', 'p096791.npz', 'p096825.npz', 'p096833.npz', 'p096920.npz', 'p096924.npz', 'p096930.npz', 'p096950.npz', 'p096977.npz', 'p097008.npz', 'p097028.npz', 'p097048.npz', 'p097061.npz', 'p097158.npz', 'p097243.npz', 'p097301.npz', 'p097307.npz', 'p097339.npz', 'p097380.npz', 'p097382.npz', 'p097422.npz', 'p097441.npz', 'p097488.npz', 'p097543.npz', 'p097547.npz', 'p097591.npz', 'p097599.npz', 'p097660.npz', 'p097664.npz', 'p097733.npz', 'p097801.npz', 'p097813.npz', 'p097828.npz', 'p097924.npz', 'p097932.npz', 'p098006.npz', 'p098169.npz', 'p098174.npz', 'p098185.npz', 'p098187.npz', 'p098206.npz', 'p098220.npz', 'p098226.npz', 'p098253.npz', 'p098276.npz', 'p098280.npz', 'p098347.npz', 'p098382.npz', 'p098385.npz', 'p098390.npz', 'p098434.npz', 'p098484.npz', 'p098514.npz', 'p098517.npz', 'p098564.npz', 'p098582.npz', 'p098593.npz', 'p098620.npz', 'p098647.npz', 'p098759.npz', 'p098829.npz', 'p098887.npz', 'p098930.npz', 'p098932.npz', 'p098944.npz', 'p098994.npz', 'p099004.npz', 'p099008.npz', 'p099038.npz', 'p099111.npz', 'p099255.npz', 'p099286.npz', 'p099366.npz', 'p099380.npz', 'p099383.npz', 'p099408.npz', 'p099412.npz', 'p099499.npz', 'p099544.npz', 'p099556.npz', 'p099599.npz', 'p099645.npz', 'p099659.npz', 'p099666.npz', 'p099669.npz', 'p099707.npz', 'p099776.npz', 'p099781.npz', 'p099785.npz', 'p099836.npz', 'p099863.npz', 'p099883.npz', 'p099894.npz', 'p099982.npz']\n",
      "['p000001.npz', 'p000003.npz', 'p000005.npz', 'p000006.npz', 'p000008.npz', 'p000010.npz', 'p000012.npz', 'p000013.npz', 'p000016.npz', 'p000019.npz', 'p000022.npz', 'p000023.npz', 'p000024.npz', 'p000027.npz', 'p000028.npz', 'p000030.npz', 'p000033.npz', 'p000035.npz', 'p000037.npz', 'p000038.npz', 'p000041.npz', 'p000043.npz', 'p000047.npz', 'p000050.npz', 'p000051.npz', 'p000052.npz', 'p000053.npz', 'p000056.npz', 'p000058.npz', 'p000059.npz', 'p000061.npz', 'p000063.npz', 'p000064.npz', 'p000066.npz', 'p000068.npz', 'p000071.npz', 'p000073.npz', 'p000074.npz', 'p000079.npz', 'p000085.npz', 'p000088.npz', 'p000089.npz', 'p000093.npz', 'p000097.npz', 'p000101.npz', 'p000102.npz', 'p000103.npz', 'p000107.npz', 'p000109.npz', 'p000110.npz', 'p000111.npz', 'p000113.npz', 'p000116.npz', 'p000119.npz', 'p000120.npz', 'p000121.npz', 'p000122.npz', 'p000124.npz', 'p000128.npz', 'p000129.npz', 'p000130.npz', 'p000131.npz', 'p000134.npz', 'p000135.npz', 'p000136.npz', 'p000137.npz', 'p000139.npz', 'p000141.npz', 'p000142.npz', 'p000143.npz', 'p000144.npz', 'p000145.npz', 'p000147.npz', 'p000149.npz', 'p000150.npz', 'p000152.npz', 'p000156.npz', 'p000158.npz', 'p000160.npz', 'p000164.npz', 'p000165.npz', 'p000166.npz', 'p000167.npz', 'p000168.npz', 'p000169.npz', 'p000173.npz', 'p000174.npz', 'p000176.npz', 'p000179.npz', 'p000181.npz', 'p000182.npz', 'p000183.npz', 'p000184.npz', 'p000185.npz', 'p000187.npz', 'p000188 (2).npz', 'p000188.npz', 'p000189.npz', 'p000192.npz', 'p000194.npz', 'p000195.npz', 'p000198.npz', 'p000202.npz', 'p000203.npz', 'p000204.npz', 'p000205.npz', 'p000206.npz', 'p000207.npz', 'p000211.npz', 'p000213.npz', 'p000216.npz', 'p000217.npz', 'p000218.npz', 'p000220.npz', 'p000221.npz', 'p000224.npz', 'p000227.npz', 'p000228.npz', 'p000229.npz', 'p000230.npz', 'p000232.npz', 'p000234.npz', 'p000236.npz', 'p000237.npz', 'p000238.npz', 'p000241.npz', 'p000242.npz', 'p000244.npz', 'p000246.npz', 'p000248.npz', 'p000249.npz', 'p000251.npz', 'p000253.npz', 'p000254.npz', 'p000255.npz', 'p000257.npz', 'p000259.npz', 'p000261.npz', 'p000263.npz', 'p000266.npz', 'p000269.npz', 'p000270.npz', 'p000274.npz', 'p000275.npz', 'p000276.npz', 'p000279.npz', 'p000280.npz', 'p000282.npz', 'p000284.npz', 'p000285.npz', 'p000286.npz', 'p000287.npz', 'p000290.npz', 'p000291.npz', 'p000294.npz', 'p000303.npz', 'p000304.npz', 'p000305.npz', 'p000306.npz', 'p000309.npz', 'p000310.npz', 'p000311.npz', 'p000312.npz', 'p000316.npz', 'p000317.npz', 'p000318.npz', 'p000319.npz', 'p000321.npz', 'p000323.npz', 'p000324.npz', 'p000326.npz', 'p000327.npz', 'p000328.npz', 'p000333.npz', 'p000336.npz', 'p000340.npz', 'p000342.npz', 'p000344.npz', 'p000345.npz', 'p000346.npz', 'p000348.npz', 'p000351.npz', 'p000352.npz', 'p000353.npz', 'p000355.npz', 'p000356.npz', 'p000358.npz', 'p000359.npz', 'p000361.npz', 'p000362.npz', 'p000364.npz', 'p000366.npz', 'p000368.npz', 'p000369.npz', 'p000376.npz', 'p000378.npz', 'p000379.npz', 'p000381.npz', 'p000383.npz', 'p000385.npz', 'p000386.npz', 'p000388.npz', 'p000390.npz', 'p000391.npz', 'p000394.npz', 'p000398.npz', 'p000399.npz', 'p000400.npz', 'p000404.npz', 'p000405.npz', 'p000406.npz', 'p000407.npz', 'p000409.npz', 'p000410.npz', 'p000412.npz', 'p000414.npz', 'p000415.npz', 'p000419.npz', 'p000422.npz', 'p000423.npz', 'p000424.npz', 'p000427.npz', 'p000430.npz', 'p000431.npz', 'p000432.npz', 'p000441.npz', 'p000442.npz', 'p000443.npz', 'p000444.npz', 'p000449.npz', 'p000451.npz', 'p000452.npz', 'p000453.npz', 'p000454.npz', 'p000456.npz', 'p000460.npz', 'p000462.npz', 'p000464.npz', 'p000466.npz', 'p000468.npz', 'p000473.npz', 'p000475.npz', 'p000476.npz', 'p000480.npz', 'p000483.npz', 'p000485.npz', 'p000486.npz', 'p000489.npz', 'p000490.npz', 'p000492.npz', 'p000493.npz', 'p000494.npz', 'p000495.npz', 'p000498.npz', 'p000499.npz', 'p000501.npz', 'p000502.npz', 'p000503.npz', 'p000508.npz', 'p000509.npz', 'p000510.npz', 'p000511.npz', 'p000515.npz', 'p000516.npz', 'p000517.npz', 'p000518.npz', 'p000524.npz', 'p000526.npz', 'p000527.npz', 'p000528.npz', 'p000530.npz', 'p000531.npz', 'p000536.npz', 'p000537.npz', 'p000539.npz', 'p000540.npz', 'p000541.npz', 'p000542.npz', 'p000543.npz', 'p000544.npz', 'p000545.npz', 'p000547.npz', 'p000548.npz', 'p000549.npz', 'p000550.npz', 'p000551.npz', 'p000554.npz', 'p000555.npz', 'p000556.npz', 'p000558.npz', 'p000559.npz', 'p000560.npz', 'p000563.npz', 'p000564.npz', 'p000567.npz', 'p000568.npz', 'p000571.npz', 'p000573.npz', 'p000576.npz', 'p000579.npz', 'p000581.npz', 'p000582.npz', 'p000583.npz', 'p000584.npz', 'p000587.npz', 'p000589.npz', 'p000591.npz', 'p000595.npz', 'p000598.npz', 'p000601.npz', 'p000602.npz', 'p000609.npz', 'p000610.npz', 'p000611.npz', 'p000614.npz', 'p000618.npz', 'p000619.npz', 'p000620.npz', 'p000621.npz', 'p000624.npz', 'p000625.npz', 'p000630.npz', 'p000632.npz', 'p000633.npz', 'p000635.npz', 'p000636.npz', 'p000637.npz', 'p000638.npz', 'p000639.npz', 'p000642.npz', 'p000645.npz', 'p000646.npz', 'p000647.npz', 'p000649.npz', 'p000650.npz', 'p000651.npz', 'p000652 (2).npz', 'p000652.npz', 'p000654.npz', 'p000655.npz', 'p000656.npz', 'p000658.npz', 'p000659.npz', 'p000660.npz', 'p000661.npz', 'p000662.npz', 'p000665.npz', 'p000668.npz', 'p000675.npz', 'p000677.npz', 'p000679.npz', 'p000681.npz', 'p000682.npz', 'p000683.npz', 'p000685.npz', 'p000686.npz', 'p000687.npz', 'p000688.npz', 'p000690.npz', 'p000691.npz', 'p000697.npz', 'p000701.npz', 'p000702.npz', 'p000704.npz', 'p000706.npz', 'p000707.npz', 'p000709.npz', 'p000710.npz', 'p000711.npz', 'p000712.npz', 'p000713.npz', 'p000714.npz', 'p000716.npz', 'p000721.npz', 'p000724.npz', 'p000727.npz', 'p000728.npz', 'p000732.npz', 'p000733.npz', 'p000735 (2).npz', 'p000735.npz', 'p000737.npz', 'p000738.npz', 'p000740.npz', 'p000744.npz', 'p000745.npz', 'p000747.npz', 'p000748.npz', 'p000750.npz', 'p000758.npz', 'p000759.npz', 'p000760.npz', 'p000765.npz', 'p000773 (2).npz', 'p000773.npz', 'p000775.npz', 'p000777.npz', 'p000782.npz', 'p000783.npz', 'p000786.npz', 'p000787.npz', 'p000789.npz', 'p000792.npz', 'p000794.npz', 'p000795.npz', 'p000798.npz', 'p000799.npz', 'p000800.npz', 'p000801.npz', 'p000802.npz', 'p000804.npz', 'p000809.npz', 'p000811.npz', 'p000812.npz', 'p000813.npz', 'p000818.npz', 'p000821.npz', 'p000823.npz', 'p000829.npz', 'p000831.npz', 'p000839.npz', 'p000840.npz', 'p000842.npz', 'p000843.npz', 'p000846.npz', 'p000848.npz', 'p000851.npz', 'p000852.npz', 'p000853.npz', 'p000856.npz', 'p000863.npz', 'p000867.npz', 'p000869.npz', 'p000870.npz', 'p000873.npz', 'p000874.npz', 'p000880.npz', 'p000884.npz', 'p000887.npz', 'p000890.npz', 'p000895.npz', 'p000898.npz', 'p000899.npz', 'p000900.npz', 'p000902.npz', 'p000904.npz', 'p000905.npz', 'p000906.npz', 'p000907.npz', 'p000910.npz', 'p000911.npz', 'p000914.npz', 'p000915.npz', 'p000917.npz', 'p000918.npz', 'p000920.npz', 'p000925.npz', 'p000931.npz', 'p000941.npz', 'p000942.npz', 'p000944.npz', 'p000946 (2).npz', 'p000946.npz', 'p000947.npz', 'p000948.npz', 'p000952.npz', 'p000953.npz', 'p000954.npz', 'p000958.npz', 'p000959.npz', 'p000961.npz', 'p000964.npz', 'p000966.npz', 'p000969.npz', 'p000973.npz', 'p000975.npz', 'p000979.npz', 'p000980.npz', 'p000981.npz', 'p000982.npz', 'p000984.npz', 'p000985.npz', 'p000986.npz', 'p000988.npz', 'p000989.npz', 'p000991.npz', 'p000994.npz', 'p000995.npz', 'p000996.npz', 'p001005.npz', 'p001011.npz', 'p001014.npz', 'p001016.npz', 'p001019.npz', 'p001025.npz', 'p001028.npz', 'p001030.npz', 'p001033.npz', 'p001035.npz', 'p001038.npz', 'p001041.npz', 'p001042.npz', 'p001045.npz', 'p001046.npz', 'p001049.npz', 'p001050.npz', 'p001052.npz', 'p001053.npz', 'p001056.npz', 'p001057.npz', 'p001063.npz', 'p001064.npz', 'p001065.npz', 'p001066.npz', 'p001067.npz', 'p001068.npz', 'p001071.npz', 'p001075.npz', 'p001076.npz', 'p001077.npz', 'p001078.npz', 'p001080.npz', 'p001081.npz', 'p001082.npz', 'p001084.npz', 'p001086.npz', 'p001088.npz', 'p001091.npz', 'p001092.npz', 'p001093.npz', 'p001098.npz', 'p001099.npz', 'p001102.npz', 'p001105.npz', 'p001106.npz', 'p001112.npz', 'p001113.npz', 'p001114.npz', 'p001116.npz', 'p001117.npz', 'p001120.npz', 'p001123.npz', 'p001124.npz', 'p001125.npz', 'p001127.npz', 'p001128.npz', 'p001131.npz', 'p001134.npz', 'p001137.npz', 'p001143.npz', 'p001146.npz', 'p001149.npz', 'p001152.npz', 'p001155.npz', 'p001157.npz', 'p001158.npz', 'p001160.npz', 'p001162.npz', 'p001163.npz', 'p001166.npz', 'p001167.npz', 'p001168.npz', 'p001171.npz', 'p001173.npz', 'p001175.npz', 'p001176.npz', 'p001177.npz', 'p001179.npz', 'p001180.npz', 'p001182.npz', 'p001183.npz', 'p001185.npz', 'p001186.npz', 'p001190 (2).npz', 'p001190.npz', 'p001191.npz', 'p001192.npz', 'p001194.npz', 'p001195.npz', 'p001196.npz', 'p001198.npz', 'p001199.npz', 'p001200.npz', 'p001201.npz', 'p001204.npz', 'p001206.npz', 'p001207.npz', 'p001208.npz', 'p001209.npz', 'p001210.npz', 'p001212.npz', 'p001217.npz', 'p001218.npz', 'p001221.npz', 'p001224.npz', 'p001225.npz', 'p001227.npz', 'p001231.npz', 'p001236.npz', 'p001237.npz', 'p001238.npz', 'p001241.npz', 'p001244.npz', 'p001247.npz', 'p001248.npz', 'p001249.npz', 'p001250.npz', 'p001253.npz', 'p001256.npz', 'p001257.npz', 'p001258.npz', 'p001260.npz', 'p001261.npz', 'p001266.npz', 'p001267.npz', 'p001272.npz', 'p001273.npz', 'p001275.npz', 'p001278.npz', 'p001279.npz', 'p001280.npz', 'p001284.npz', 'p001286.npz', 'p001287.npz', 'p001292.npz', 'p001293.npz', 'p001295.npz', 'p001296.npz', 'p001299.npz', 'p001300.npz', 'p001301.npz', 'p001302.npz', 'p001304.npz', 'p001306.npz', 'p001307.npz', 'p001309.npz', 'p001310.npz', 'p001312.npz', 'p001313.npz', 'p001318.npz', 'p001320.npz', 'p001326.npz', 'p001328.npz', 'p001330.npz', 'p001331.npz', 'p001332.npz', 'p001333.npz', 'p001334.npz', 'p001337.npz', 'p001338.npz', 'p001343.npz', 'p001346.npz', 'p001348.npz', 'p001349.npz', 'p001352.npz', 'p001353.npz', 'p001356.npz', 'p001357.npz', 'p001360.npz', 'p001361.npz', 'p001365.npz', 'p001369.npz', 'p001376.npz', 'p001378.npz', 'p001379.npz', 'p001381.npz', 'p001382.npz', 'p001384.npz', 'p001385.npz', 'p001386.npz', 'p001388.npz', 'p001390.npz', 'p001394.npz', 'p001397.npz', 'p001401.npz', 'p001402.npz', 'p001403.npz', 'p001405.npz', 'p001409.npz', 'p001410.npz', 'p001411.npz', 'p001412.npz', 'p001414.npz', 'p001415.npz', 'p001418.npz', 'p001419.npz', 'p001420.npz', 'p001421.npz', 'p001424.npz', 'p001428.npz', 'p001430.npz', 'p001433.npz', 'p001434.npz', 'p001437.npz', 'p001439.npz', 'p001440.npz', 'p001443.npz', 'p001444.npz', 'p001448.npz', 'p001449.npz', 'p001453.npz', 'p001454.npz', 'p001457.npz', 'p001458.npz', 'p001461.npz', 'p001465.npz', 'p001469.npz', 'p001472.npz', 'p001473.npz', 'p001474.npz', 'p001477.npz', 'p001479.npz', 'p001480.npz', 'p001481.npz', 'p001482.npz', 'p001484.npz', 'p001486.npz', 'p001487.npz', 'p001489.npz', 'p001490.npz', 'p001491.npz', 'p001492.npz', 'p001494.npz', 'p001495.npz', 'p001496.npz', 'p001497.npz', 'p001500.npz', 'p001501 (2).npz', 'p001501.npz', 'p001502.npz', 'p001503.npz', 'p001506.npz', 'p001508.npz', 'p001510.npz', 'p001513.npz', 'p001514.npz', 'p001518.npz', 'p001519.npz', 'p001521.npz', 'p001523.npz', 'p001524.npz', 'p001526.npz', 'p001527.npz', 'p001529.npz', 'p001531.npz', 'p001535.npz', 'p001538.npz', 'p001539.npz', 'p001543.npz', 'p001546.npz', 'p001549.npz', 'p001551.npz', 'p001556.npz', 'p001557.npz', 'p001558.npz', 'p001559.npz', 'p001562.npz', 'p001564.npz', 'p001566.npz', 'p001568.npz', 'p001570.npz', 'p001571.npz', 'p001573.npz', 'p001574.npz', 'p001576.npz', 'p001577.npz', 'p001578.npz', 'p001579.npz', 'p001584.npz', 'p001587.npz', 'p001588.npz', 'p001590.npz', 'p001591.npz', 'p001592.npz', 'p001595.npz', 'p001596.npz', 'p001598.npz', 'p001599.npz', 'p001601.npz', 'p001606.npz', 'p001607.npz', 'p001608.npz', 'p001611.npz', 'p001612.npz', 'p001615.npz', 'p001623.npz', 'p001625.npz', 'p001626.npz', 'p001628.npz', 'p001629.npz', 'p001640.npz', 'p001642.npz', 'p001650.npz', 'p001653.npz', 'p001656.npz', 'p001658.npz', 'p001659.npz', 'p001660.npz', 'p001662.npz', 'p001663.npz', 'p001664.npz', 'p001665.npz', 'p001666.npz', 'p001668.npz', 'p001669.npz', 'p001673.npz', 'p001675.npz', 'p001676.npz', 'p001677.npz', 'p001681.npz', 'p001683.npz', 'p001685.npz', 'p001687.npz', 'p001688.npz', 'p001691.npz', 'p001693.npz', 'p001698.npz', 'p001699.npz', 'p001700.npz', 'p001702.npz', 'p001703.npz', 'p001705.npz', 'p001706.npz', 'p001708.npz', 'p001709.npz', 'p001710.npz', 'p001713.npz', 'p001714.npz', 'p001715.npz', 'p001719.npz', 'p001720.npz', 'p001724.npz', 'p001725.npz', 'p001726.npz', 'p001727.npz', 'p001729.npz', 'p001731.npz', 'p001732.npz', 'p001735.npz', 'p001736.npz', 'p001737.npz', 'p001738.npz', 'p001739.npz', 'p001745.npz', 'p001746.npz', 'p001755.npz', 'p001758.npz', 'p001760.npz', 'p001761.npz', 'p001762.npz', 'p001763.npz', 'p001764.npz', 'p001774.npz', 'p001778.npz', 'p001782.npz', 'p001783.npz', 'p001784.npz', 'p001786.npz', 'p001787.npz', 'p001789.npz', 'p001791.npz', 'p001795.npz', 'p001796.npz', 'p001797.npz', 'p001799.npz', 'p001800.npz', 'p001803.npz', 'p001804.npz', 'p001806.npz', 'p001809.npz', 'p001810.npz', 'p001811.npz', 'p001812.npz', 'p001815.npz', 'p001818.npz', 'p001819.npz', 'p001821.npz', 'p001827.npz', 'p001828.npz', 'p001830.npz', 'p001831.npz', 'p001832.npz', 'p001833.npz', 'p001839.npz', 'p001840 (2).npz', 'p001840.npz', 'p001841.npz', 'p001845.npz', 'p001846.npz', 'p001850.npz', 'p001851.npz', 'p001852.npz', 'p001855 (2).npz', 'p001855.npz', 'p001859.npz', 'p001860.npz', 'p001861.npz', 'p001862.npz', 'p001863.npz', 'p001864.npz', 'p001867.npz', 'p001868.npz', 'p001871.npz', 'p001873.npz', 'p001875.npz', 'p001877.npz', 'p001881.npz', 'p001883.npz', 'p001885.npz', 'p001886.npz', 'p001887.npz', 'p001889.npz', 'p001892.npz', 'p001893.npz', 'p001898.npz', 'p001899.npz', 'p001900.npz', 'p001901.npz', 'p001903.npz', 'p001904.npz', 'p001905.npz', 'p001908.npz', 'p001909.npz', 'p001910.npz', 'p001912.npz', 'p001914.npz', 'p001916.npz', 'p001917.npz', 'p001918.npz', 'p001921.npz', 'p001922.npz', 'p001923.npz', 'p001925.npz', 'p001926.npz', 'p001928.npz', 'p001931.npz', 'p001933.npz', 'p001934.npz', 'p001935.npz', 'p001937.npz', 'p001938.npz', 'p001940.npz', 'p001941.npz', 'p001942.npz', 'p001943.npz', 'p001944.npz', 'p001946.npz', 'p001948.npz', 'p001949 (2).npz', 'p001949.npz', 'p001951.npz', 'p001955.npz', 'p001956.npz', 'p001957.npz', 'p001958.npz', 'p001959.npz', 'p001962.npz', 'p001963.npz', 'p001965.npz', 'p001966.npz', 'p001969.npz', 'p001971.npz', 'p001974.npz', 'p001976.npz', 'p001978.npz', 'p001985.npz', 'p001988.npz', 'p001990.npz', 'p001991.npz', 'p001997.npz', 'p001998.npz', 'p001999.npz', 'p002001.npz', 'p002002.npz', 'p002003.npz', 'p002004.npz', 'p002005.npz', 'p002006.npz', 'p002009.npz', 'p002012.npz', 'p002013.npz', 'p002014.npz', 'p002015.npz', 'p002016.npz', 'p002018.npz', 'p002021.npz', 'p002022.npz', 'p002025.npz', 'p002029.npz', 'p002031.npz', 'p002033.npz', 'p002034.npz', 'p002035.npz', 'p002038.npz', 'p002039.npz', 'p002040.npz', 'p002042.npz', 'p002043.npz', 'p002044.npz', 'p002045.npz', 'p002047.npz', 'p002048.npz', 'p002050.npz', 'p002051.npz', 'p002058.npz', 'p002061.npz', 'p002063 (2).npz', 'p002063.npz', 'p002065.npz', 'p002066.npz', 'p002071.npz', 'p002072.npz', 'p002074.npz', 'p002077.npz', 'p002082.npz', 'p002086.npz', 'p002087.npz', 'p002089.npz', 'p002091.npz', 'p002093.npz', 'p002094.npz', 'p002095.npz', 'p002097.npz', 'p002101.npz', 'p002103.npz', 'p002107.npz', 'p002109.npz', 'p002110.npz', 'p002114.npz', 'p002115.npz', 'p002116.npz', 'p002117.npz', 'p002119.npz', 'p002122.npz', 'p002124.npz', 'p002125.npz', 'p002127.npz', 'p002128.npz', 'p002129.npz', 'p002131.npz', 'p002134.npz', 'p002137.npz', 'p002138.npz', 'p002145.npz', 'p002146.npz', 'p002148.npz', 'p002154.npz', 'p002155.npz', 'p002158.npz', 'p002159.npz', 'p002160.npz', 'p002165.npz', 'p002170.npz', 'p002171.npz', 'p002173.npz', 'p002174.npz', 'p002175.npz', 'p002179.npz', 'p002181.npz', 'p002182.npz', 'p002183.npz', 'p002184.npz', 'p002185.npz', 'p002186.npz', 'p002190.npz', 'p002194.npz', 'p002196.npz', 'p002197.npz', 'p002198.npz', 'p002199.npz', 'p002200.npz', 'p002202.npz', 'p002205.npz', 'p002206.npz', 'p002207.npz', 'p002209.npz', 'p002212.npz', 'p002214.npz', 'p002216.npz', 'p002217.npz', 'p002220.npz', 'p002221.npz', 'p002222.npz', 'p002223.npz', 'p002224.npz', 'p002227.npz', 'p002229.npz', 'p002231.npz', 'p002232.npz', 'p002234.npz', 'p002235.npz', 'p002238.npz', 'p002240.npz', 'p002242.npz', 'p002244.npz', 'p002252.npz', 'p002257.npz', 'p002258.npz', 'p002262.npz', 'p002263.npz', 'p002264.npz', 'p002265.npz', 'p002268.npz', 'p002270.npz', 'p002271.npz', 'p002272.npz', 'p002277.npz', 'p002278.npz', 'p002281.npz', 'p002283.npz', 'p002284.npz', 'p002286.npz', 'p002287.npz', 'p002289.npz', 'p002291.npz', 'p002296.npz', 'p002297.npz', 'p002303.npz', 'p002306.npz', 'p002307.npz', 'p002308.npz', 'p002312.npz', 'p002316.npz', 'p002317.npz', 'p002318.npz', 'p002320.npz', 'p002322.npz', 'p002323.npz', 'p002328.npz', 'p002329.npz', 'p002335.npz', 'p002336.npz', 'p002341.npz', 'p002342.npz', 'p002343 (2).npz', 'p002343.npz', 'p002352.npz', 'p002353.npz', 'p002355.npz', 'p002357.npz', 'p002358.npz', 'p002359.npz', 'p002361.npz', 'p002362.npz', 'p002363.npz', 'p002364.npz', 'p002365.npz', 'p002368.npz', 'p002369 (2).npz', 'p002369.npz', 'p002371.npz', 'p002372.npz', 'p002373.npz', 'p002374.npz', 'p002377.npz', 'p002378.npz', 'p002379.npz', 'p002380.npz', 'p002382.npz', 'p002383.npz', 'p002384.npz', 'p002390.npz', 'p002391.npz', 'p002394.npz', 'p002395.npz', 'p002396.npz', 'p002397.npz', 'p002398.npz', 'p002399.npz', 'p002400.npz', 'p002402.npz', 'p002403.npz', 'p002404.npz', 'p002407.npz', 'p002410.npz', 'p002411.npz', 'p002412.npz', 'p002415.npz', 'p002417.npz', 'p002418.npz', 'p002419.npz', 'p002423.npz', 'p002424.npz', 'p002428.npz', 'p002429.npz', 'p002430.npz', 'p002431.npz', 'p002432.npz', 'p002440.npz', 'p002442.npz', 'p002444.npz', 'p002448.npz', 'p002457.npz', 'p002458 (2).npz', 'p002458.npz', 'p002460.npz', 'p002462.npz', 'p002463.npz', 'p002464.npz', 'p002466.npz', 'p002468.npz', 'p002469.npz', 'p002470.npz', 'p002471.npz', 'p002474.npz', 'p002475.npz', 'p002476.npz', 'p002479.npz', 'p002483.npz', 'p002484.npz', 'p002489.npz', 'p002490.npz', 'p002491.npz', 'p002493.npz', 'p002494.npz', 'p002496.npz', 'p002497.npz', 'p002498.npz', 'p002501.npz', 'p002502.npz', 'p002503.npz', 'p002505.npz', 'p002506.npz', 'p002507.npz', 'p002508.npz', 'p002509.npz', 'p002511.npz', 'p002513.npz', 'p002515.npz', 'p002517.npz', 'p002519.npz', 'p002523.npz', 'p002524.npz', 'p002528.npz', 'p002530.npz', 'p002531.npz', 'p002532.npz', 'p002534.npz', 'p002536.npz', 'p002537.npz', 'p002539.npz', 'p002540.npz', 'p002541.npz', 'p002543.npz', 'p002544.npz', 'p002545.npz', 'p002547.npz', 'p002549.npz', 'p002551.npz', 'p002552.npz', 'p002556.npz', 'p002557.npz', 'p002559.npz', 'p002567.npz', 'p002568.npz', 'p002577.npz', 'p002578.npz', 'p002581.npz', 'p002583.npz', 'p002584.npz', 'p002586.npz', 'p002588.npz', 'p002591.npz', 'p002592.npz', 'p002595.npz', 'p002596.npz', 'p002597.npz', 'p002602.npz', 'p002605.npz', 'p002607.npz', 'p002609.npz', 'p002614.npz', 'p002616.npz', 'p002618.npz', 'p002621.npz', 'p002622.npz', 'p002626.npz', 'p002629.npz', 'p002631.npz', 'p002632.npz', 'p002635.npz', 'p002636 (2).npz', 'p002636.npz', 'p002638.npz', 'p002639.npz', 'p002640.npz', 'p002642.npz', 'p002643.npz', 'p002645.npz', 'p002646.npz', 'p002648.npz', 'p002653.npz', 'p002656.npz', 'p002657.npz', 'p002658.npz', 'p002661.npz', 'p002664.npz', 'p002665.npz', 'p002666.npz', 'p002667.npz', 'p002671.npz', 'p002672.npz', 'p002676.npz', 'p002678.npz', 'p002680.npz', 'p002681.npz', 'p002686.npz', 'p002693.npz', 'p002694.npz', 'p002695.npz', 'p002701.npz', 'p002702.npz', 'p002703.npz', 'p002704.npz', 'p002705.npz', 'p002707.npz', 'p002710.npz', 'p002711.npz', 'p002712.npz', 'p002713.npz', 'p002715.npz', 'p002716.npz', 'p002719.npz', 'p002722.npz', 'p002725.npz', 'p002727.npz', 'p002728.npz', 'p002732.npz', 'p002736.npz', 'p002739.npz', 'p002740.npz', 'p002743.npz', 'p002744.npz', 'p002745.npz', 'p002746.npz', 'p002747.npz', 'p002748.npz', 'p002750.npz', 'p002753.npz', 'p002754.npz', 'p002755.npz', 'p002756.npz', 'p002759.npz', 'p002760.npz', 'p002761.npz', 'p002762.npz', 'p002767.npz', 'p002772.npz', 'p002774.npz', 'p002775.npz', 'p002777.npz', 'p002782.npz', 'p002783.npz', 'p002784.npz', 'p002786.npz', 'p002788.npz', 'p002789.npz', 'p002790.npz', 'p002792.npz', 'p002793.npz', 'p002795.npz', 'p002796.npz', 'p002799.npz', 'p002802.npz', 'p002803.npz', 'p002804.npz', 'p002805.npz', 'p002810.npz', 'p002813.npz', 'p002815.npz', 'p002816.npz', 'p002818.npz', 'p002819.npz', 'p002821.npz', 'p002822.npz', 'p002825.npz', 'p002826.npz', 'p002827.npz', 'p002829.npz', 'p002831.npz', 'p002832.npz', 'p002833.npz', 'p002839.npz', 'p002840.npz', 'p002841.npz', 'p002842.npz', 'p002849.npz', 'p002850.npz', 'p002851.npz', 'p002852.npz', 'p002856.npz', 'p002864.npz', 'p002865.npz', 'p002866.npz', 'p002868.npz', 'p002869.npz', 'p002871.npz', 'p002872.npz', 'p002874.npz', 'p002877.npz', 'p002879.npz', 'p002882.npz', 'p002883.npz', 'p002884.npz', 'p002886.npz', 'p002887.npz', 'p002888.npz', 'p002889.npz', 'p002890.npz', 'p002891.npz', 'p002893.npz', 'p002894.npz', 'p002895.npz', 'p002896.npz', 'p002897.npz', 'p002898.npz', 'p002899.npz', 'p002902.npz', 'p002905.npz', 'p002906 (2).npz', 'p002906.npz', 'p002907.npz', 'p002918.npz', 'p002920.npz', 'p002921.npz', 'p002922.npz', 'p002923.npz', 'p002924.npz', 'p002925.npz', 'p002927.npz', 'p002928.npz', 'p002930.npz', 'p002933.npz', 'p002934.npz', 'p002935.npz', 'p002937.npz', 'p002938.npz', 'p002939.npz', 'p002940.npz', 'p002943.npz', 'p002950.npz', 'p002956.npz', 'p002957.npz', 'p002960.npz', 'p002961.npz', 'p002962.npz', 'p002963.npz', 'p002965.npz', 'p002966.npz', 'p002968.npz', 'p002970.npz', 'p002971.npz', 'p002974.npz', 'p002975.npz', 'p002977.npz', 'p002978.npz', 'p002979.npz', 'p002980.npz', 'p002982.npz', 'p002983.npz', 'p002988.npz', 'p002989.npz', 'p002990.npz', 'p002991.npz', 'p002993.npz', 'p002994.npz', 'p002995.npz', 'p002997.npz', 'p002998.npz', 'p002999.npz', 'p003001.npz', 'p003002.npz', 'p003003.npz', 'p003004.npz', 'p003005.npz', 'p003006.npz', 'p003008.npz', 'p003011.npz', 'p003012.npz', 'p003014.npz', 'p003015.npz', 'p003017.npz', 'p003019.npz', 'p003021.npz', 'p003022.npz', 'p003027.npz', 'p003033.npz', 'p003035.npz', 'p003036.npz', 'p003037.npz', 'p003039 (2).npz', 'p003039.npz', 'p003041.npz', 'p003042.npz', 'p003043.npz', 'p003046.npz', 'p003049.npz', 'p003050.npz', 'p003052.npz', 'p003054.npz', 'p003055.npz', 'p003059.npz', 'p003060.npz', 'p003061.npz', 'p003066.npz', 'p003068.npz', 'p003070.npz', 'p003071.npz', 'p003072.npz', 'p003074.npz', 'p003077.npz', 'p003078.npz', 'p003080.npz', 'p003081.npz', 'p003086.npz', 'p003087.npz', 'p003088.npz', 'p003090.npz', 'p003091.npz', 'p003092.npz', 'p003093.npz', 'p003096.npz', 'p003100.npz', 'p003101.npz', 'p003102.npz', 'p003103.npz', 'p003107.npz', 'p003108.npz', 'p003110.npz', 'p003112.npz', 'p003116.npz', 'p003118.npz', 'p003124.npz', 'p003125.npz', 'p003127.npz', 'p003128.npz', 'p003129.npz', 'p003130.npz', 'p003131.npz', 'p003133.npz', 'p003138.npz', 'p003141.npz', 'p003142.npz', 'p003143.npz', 'p003147.npz', 'p003148.npz', 'p003153.npz', 'p003155.npz', 'p003157.npz', 'p003159.npz', 'p003161.npz', 'p003162.npz', 'p003165.npz', 'p003167.npz', 'p003169.npz', 'p003172.npz', 'p003174.npz', 'p003176.npz', 'p003177.npz', 'p003178.npz', 'p003179.npz', 'p003180.npz', 'p003182.npz', 'p003183.npz', 'p003191.npz', 'p003192.npz', 'p003197.npz', 'p003203.npz', 'p003205.npz', 'p003207.npz', 'p003208.npz', 'p003209.npz', 'p003221.npz', 'p003222.npz', 'p003223.npz', 'p003224.npz', 'p003225.npz', 'p003226.npz', 'p003227.npz', 'p003228.npz', 'p003229.npz', 'p003230.npz', 'p003231.npz', 'p003232.npz', 'p003234.npz', 'p003237.npz', 'p003238.npz', 'p003239.npz', 'p003240.npz', 'p003241.npz', 'p003244.npz', 'p003246.npz', 'p003247.npz', 'p003248.npz', 'p003251.npz', 'p003252.npz', 'p003254.npz', 'p003257.npz', 'p003261.npz', 'p003263.npz', 'p003265.npz', 'p003266.npz', 'p003267.npz', 'p003270.npz', 'p003274.npz', 'p003276.npz', 'p003279.npz', 'p003280.npz', 'p003281.npz', 'p003283.npz', 'p003284.npz', 'p003286.npz', 'p003287.npz', 'p003291.npz', 'p003294.npz', 'p003295.npz', 'p003297.npz', 'p003299.npz', 'p003302.npz', 'p003305.npz', 'p003308.npz', 'p003311.npz', 'p003313.npz', 'p003314.npz', 'p003315.npz', 'p003316.npz', 'p003318.npz', 'p003320.npz', 'p003321.npz', 'p003323.npz', 'p003325.npz', 'p003330.npz', 'p003331.npz', 'p003332.npz', 'p003335.npz', 'p003336.npz', 'p003339.npz', 'p003340.npz', 'p003342.npz', 'p003346.npz', 'p003348.npz', 'p003350.npz', 'p003354.npz', 'p003356.npz', 'p003357.npz', 'p003358.npz', 'p003359.npz', 'p003360.npz', 'p003361.npz', 'p003363.npz', 'p003364.npz', 'p003365.npz', 'p003366.npz', 'p003367.npz', 'p003369.npz', 'p003371.npz', 'p003374.npz', 'p003376.npz', 'p003377.npz', 'p003378.npz', 'p003380.npz', 'p003381.npz', 'p003383.npz', 'p003384.npz', 'p003385.npz', 'p003386.npz', 'p003387.npz', 'p003388.npz', 'p003389.npz', 'p003392.npz', 'p003395.npz', 'p003396.npz', 'p003399.npz', 'p003400.npz', 'p003401.npz', 'p003402.npz', 'p003403.npz', 'p003407.npz', 'p003409.npz', 'p003410.npz', 'p003412.npz', 'p003414.npz', 'p003416.npz', 'p003419.npz', 'p003421.npz', 'p003423.npz', 'p003424.npz', 'p003425.npz', 'p003426.npz', 'p003429.npz', 'p003430.npz', 'p003431.npz', 'p003433.npz', 'p003440.npz', 'p003443.npz', 'p003444.npz', 'p003447.npz', 'p003448.npz', 'p003450.npz', 'p003452.npz', 'p003453.npz', 'p003454.npz', 'p003455.npz', 'p003457.npz', 'p003462.npz', 'p003466.npz', 'p003467.npz', 'p003469.npz', 'p003471.npz', 'p003473.npz', 'p003474.npz', 'p003477.npz', 'p003478.npz', 'p003479.npz', 'p003482.npz', 'p003484.npz', 'p003487.npz', 'p003488.npz', 'p003489.npz', 'p003490.npz', 'p003492.npz', 'p003495.npz', 'p003503.npz', 'p003506.npz', 'p003509.npz', 'p003510.npz', 'p003514.npz', 'p003515.npz', 'p003517.npz', 'p003518.npz', 'p003519.npz', 'p003522.npz', 'p003523.npz', 'p003525.npz', 'p003526.npz', 'p003527.npz', 'p003528.npz', 'p003529.npz', 'p003531.npz', 'p003534.npz', 'p003535.npz', 'p003536.npz', 'p003537.npz', 'p003540.npz', 'p003544.npz', 'p003551.npz', 'p003553.npz', 'p003558.npz', 'p003566.npz', 'p003568.npz', 'p003569.npz', 'p003570.npz', 'p003572.npz', 'p003575.npz', 'p003576.npz', 'p003577.npz', 'p003578.npz', 'p003579.npz', 'p003582.npz', 'p003585.npz', 'p003587.npz', 'p003589.npz', 'p003590.npz', 'p003593.npz', 'p003594.npz', 'p003597.npz', 'p003600.npz', 'p003602.npz', 'p003603.npz', 'p003605.npz', 'p003608.npz', 'p003612.npz', 'p003615.npz', 'p003617.npz', 'p003626.npz', 'p003628.npz', 'p003630.npz', 'p003631.npz', 'p003633.npz', 'p003637.npz', 'p003638.npz', 'p003639.npz', 'p003640.npz', 'p003641.npz', 'p003645.npz', 'p003648.npz', 'p003650.npz', 'p003651.npz', 'p003653.npz', 'p003655.npz', 'p003656.npz', 'p003660.npz', 'p003661.npz', 'p003662.npz', 'p003666.npz', 'p003672.npz', 'p003675.npz', 'p003677.npz', 'p003678.npz', 'p003679.npz', 'p003680.npz', 'p003681.npz', 'p003682.npz', 'p003684.npz', 'p003687.npz', 'p003690.npz', 'p003695.npz', 'p003697.npz', 'p003699.npz', 'p003700.npz', 'p003701.npz', 'p003702.npz', 'p003703.npz', 'p003704.npz', 'p003705.npz', 'p003710.npz', 'p003713.npz', 'p003715.npz', 'p003716.npz', 'p003718.npz', 'p003720.npz', 'p003722.npz', 'p003723.npz', 'p003724.npz', 'p003725.npz', 'p003727.npz', 'p003731.npz', 'p003732.npz', 'p003733.npz', 'p003735.npz', 'p003737.npz', 'p003739.npz', 'p003740.npz', 'p003743.npz', 'p003744 (2).npz', 'p003744.npz', 'p003746.npz', 'p003747.npz', 'p003749.npz', 'p003750.npz', 'p003752.npz', 'p003753.npz', 'p003754.npz', 'p003756.npz', 'p003757.npz', 'p003759.npz', 'p003761.npz', 'p003762.npz', 'p003763.npz', 'p003768.npz', 'p003771.npz', 'p003774.npz', 'p003776.npz', 'p003777.npz', 'p003778.npz', 'p003781.npz', 'p003788.npz', 'p003789.npz', 'p003791.npz', 'p003798.npz', 'p003800.npz', 'p003801.npz', 'p003802.npz', 'p003803.npz', 'p003810.npz', 'p003811.npz', 'p003813.npz', 'p003814.npz', 'p003815.npz', 'p003819.npz', 'p003821.npz', 'p003822.npz', 'p003823.npz', 'p003825.npz', 'p003829.npz', 'p003831.npz', 'p003832.npz', 'p003833.npz', 'p003834.npz', 'p003835.npz', 'p003837.npz', 'p003838.npz', 'p003841.npz', 'p003842.npz', 'p003843.npz', 'p003846.npz', 'p003847.npz', 'p003848.npz', 'p003852.npz', 'p003853.npz', 'p003855.npz', 'p003858.npz', 'p003862.npz', 'p003863.npz', 'p003864.npz', 'p003866.npz', 'p003867.npz', 'p003868.npz', 'p003871.npz', 'p003872.npz', 'p003873.npz', 'p003874.npz', 'p003876.npz', 'p003877.npz', 'p003878.npz', 'p003880.npz', 'p003882.npz', 'p003883.npz', 'p003888.npz', 'p003893.npz', 'p003894.npz', 'p003895.npz', 'p003897.npz', 'p003899.npz', 'p003903.npz', 'p003904.npz', 'p003907.npz', 'p003910.npz', 'p003912.npz', 'p003914.npz', 'p003917.npz', 'p003919.npz', 'p003923.npz', 'p003925.npz', 'p003927.npz', 'p003928.npz', 'p003929.npz', 'p003931.npz', 'p003933.npz', 'p003934.npz', 'p003935.npz', 'p003938.npz', 'p003941.npz', 'p003942.npz', 'p003946.npz', 'p003947.npz', 'p003949.npz', 'p003956.npz', 'p003957.npz', 'p003961.npz', 'p003965.npz', 'p003966.npz', 'p003967.npz', 'p003968.npz', 'p003971.npz', 'p003973.npz', 'p003974.npz', 'p003977.npz', 'p003978.npz', 'p003982.npz', 'p003984.npz', 'p003985.npz', 'p003986.npz', 'p003987.npz', 'p003990.npz', 'p003991.npz', 'p003994.npz', 'p003996.npz', 'p003997.npz', 'p003998.npz', 'p003999.npz', 'p004002.npz', 'p004004.npz', 'p004006.npz', 'p004007.npz', 'p004008.npz', 'p004010.npz', 'p004011.npz', 'p004013.npz', 'p004016.npz', 'p004018.npz', 'p004019.npz', 'p004020.npz', 'p004021.npz', 'p004028.npz', 'p004029.npz', 'p004031.npz', 'p004032.npz', 'p004034.npz', 'p004035.npz', 'p004038.npz', 'p004039.npz', 'p004041.npz', 'p004042.npz', 'p004044.npz', 'p004045.npz', 'p004051.npz', 'p004052.npz', 'p004053 (2).npz', 'p004053.npz', 'p004059.npz', 'p004060.npz', 'p004061.npz', 'p004063.npz', 'p004064.npz', 'p004065.npz', 'p004068.npz', 'p004069.npz', 'p004071.npz', 'p004072.npz', 'p004075.npz', 'p004077.npz', 'p004079.npz', 'p004081.npz', 'p004082.npz', 'p004083.npz', 'p004088.npz', 'p004089.npz', 'p004090.npz', 'p004093.npz', 'p004097.npz', 'p004099.npz', 'p004101.npz', 'p004102.npz', 'p004111.npz', 'p004112.npz', 'p004113.npz', 'p004114.npz', 'p004115.npz', 'p004117.npz', 'p004118.npz', 'p004119.npz', 'p004121.npz', 'p004123.npz', 'p004125.npz', 'p004126.npz', 'p004127.npz', 'p004128.npz', 'p004131.npz', 'p004135.npz', 'p004136.npz', 'p004137.npz', 'p004138.npz', 'p004139.npz', 'p004140.npz', 'p004141.npz', 'p004142.npz', 'p004143.npz', 'p004144.npz', 'p004145.npz', 'p004147.npz', 'p004148.npz', 'p004152.npz', 'p004153.npz', 'p004154.npz', 'p004157.npz', 'p004158.npz', 'p004159.npz', 'p004161.npz', 'p004163.npz', 'p004169.npz', 'p004170.npz', 'p004172.npz', 'p004177.npz', 'p004179.npz', 'p004184.npz', 'p004186.npz', 'p004187.npz', 'p004189.npz', 'p004190.npz', 'p004193.npz', 'p004194.npz', 'p004199.npz', 'p004200.npz', 'p004210.npz', 'p004215.npz', 'p004222.npz', 'p004224.npz', 'p004229.npz', 'p004233.npz', 'p004235.npz', 'p004237.npz', 'p004238.npz', 'p004244.npz', 'p004245.npz', 'p004246.npz', 'p004247.npz', 'p004248.npz', 'p004249.npz', 'p004252.npz', 'p004253.npz', 'p004255.npz', 'p004256.npz', 'p004257.npz', 'p004258.npz', 'p004259.npz', 'p004264.npz', 'p004266.npz', 'p004269.npz', 'p004270.npz', 'p004271.npz', 'p004273.npz', 'p004275.npz', 'p004276.npz', 'p004279.npz', 'p004281.npz', 'p004282.npz', 'p004283.npz', 'p004284.npz', 'p004285.npz', 'p004288.npz', 'p004294.npz', 'p004295.npz', 'p004298.npz', 'p004301.npz', 'p004303.npz', 'p004306.npz', 'p004308.npz', 'p004311.npz', 'p004312.npz', 'p004313.npz', 'p004315.npz', 'p004317.npz', 'p004320.npz', 'p004321.npz', 'p004323.npz', 'p004324 (2).npz', 'p004324.npz', 'p004325.npz', 'p004326.npz', 'p004329.npz', 'p004330.npz', 'p004331 (2).npz', 'p004331.npz', 'p004335.npz', 'p004337.npz', 'p004339.npz', 'p004341.npz', 'p004343.npz', 'p004344.npz', 'p004347.npz', 'p004352.npz', 'p004353.npz', 'p004355.npz', 'p004356.npz', 'p004361.npz', 'p004363.npz', 'p004365.npz', 'p004366.npz', 'p004367.npz', 'p004368.npz', 'p004372.npz', 'p004373.npz', 'p004374.npz', 'p004375.npz', 'p004378.npz', 'p004381.npz', 'p004384.npz', 'p004385.npz', 'p004387.npz', 'p004393.npz', 'p004397.npz', 'p004399.npz', 'p004400.npz', 'p004401.npz', 'p004404.npz', 'p004405.npz', 'p004407.npz', 'p004408.npz', 'p004409.npz', 'p004412.npz', 'p004414.npz', 'p004415.npz', 'p004418.npz', 'p004419.npz', 'p004423.npz', 'p004424.npz', 'p004425.npz', 'p004426.npz', 'p004428.npz', 'p004429.npz', 'p004430.npz', 'p004431.npz', 'p004434.npz', 'p004436.npz', 'p004437.npz', 'p004441.npz', 'p004442.npz', 'p004443.npz', 'p004448.npz', 'p004450.npz', 'p004451.npz', 'p004452.npz', 'p004454.npz', 'p004455.npz', 'p004456.npz', 'p004457.npz', 'p004462.npz', 'p004463.npz', 'p004465.npz', 'p004466.npz', 'p004467.npz', 'p004471.npz', 'p004472.npz', 'p004476.npz', 'p004479.npz', 'p004480.npz', 'p004483.npz', 'p004485.npz', 'p004488.npz', 'p004492.npz', 'p004495.npz', 'p004496.npz', 'p004498.npz', 'p004499.npz', 'p004500.npz', 'p004501.npz', 'p004503.npz', 'p004504.npz', 'p004507.npz', 'p004509.npz', 'p004510.npz', 'p004515.npz', 'p004520.npz', 'p004521.npz', 'p004522.npz', 'p004524.npz', 'p004526.npz', 'p004529.npz', 'p004531.npz', 'p004535.npz', 'p004536.npz', 'p004537.npz', 'p004539.npz', 'p004540.npz', 'p004541.npz', 'p004543.npz', 'p004550.npz', 'p004551.npz', 'p004552.npz', 'p004553.npz', 'p004556.npz', 'p004557.npz', 'p004558.npz', 'p004559.npz', 'p004561.npz', 'p004562.npz', 'p004563.npz', 'p004567.npz', 'p004569.npz', 'p004570.npz', 'p004571.npz', 'p004573.npz', 'p004574.npz', 'p004576.npz', 'p004578.npz', 'p004579.npz', 'p004580.npz', 'p004582.npz', 'p004583.npz', 'p004584.npz', 'p004586.npz', 'p004588.npz', 'p004589.npz', 'p004590.npz', 'p004593.npz', 'p004595.npz', 'p004596.npz', 'p004597.npz', 'p004598.npz', 'p004599.npz', 'p004603.npz', 'p004607.npz', 'p004608.npz', 'p004614.npz', 'p004619.npz', 'p004623.npz', 'p004624.npz', 'p004625.npz', 'p004629.npz', 'p004631.npz', 'p004632.npz', 'p004633.npz', 'p004634.npz', 'p004635.npz', 'p004641.npz', 'p004642.npz', 'p004644.npz', 'p004646.npz', 'p004649.npz', 'p004651.npz', 'p004655.npz', 'p004658.npz', 'p004660.npz', 'p004661.npz', 'p004662.npz', 'p004663.npz', 'p004664.npz', 'p004668.npz', 'p004670.npz', 'p004671.npz', 'p004672.npz', 'p004675.npz', 'p004677.npz', 'p004679.npz', 'p004686.npz', 'p004687.npz', 'p004688.npz', 'p004689.npz', 'p004692.npz', 'p004693.npz', 'p004694.npz', 'p004695.npz', 'p004697.npz', 'p004699.npz', 'p004704.npz', 'p004708.npz', 'p004709.npz', 'p004713.npz', 'p004717.npz', 'p004724.npz', 'p004727.npz', 'p004728.npz', 'p004729.npz', 'p004730.npz', 'p004732.npz', 'p004734.npz', 'p004735.npz', 'p004736.npz', 'p004737.npz', 'p004738.npz', 'p004739.npz', 'p004743.npz', 'p004746.npz', 'p004747.npz', 'p004748.npz', 'p004749.npz', 'p004753.npz', 'p004757.npz', 'p004759.npz', 'p004760.npz', 'p004764.npz', 'p004765.npz', 'p004767.npz', 'p004769.npz', 'p004772.npz', 'p004773.npz', 'p004774.npz', 'p004776.npz', 'p004777.npz', 'p004779.npz', 'p004780.npz', 'p004783.npz', 'p004786.npz', 'p004788.npz', 'p004791.npz', 'p004793.npz', 'p004795.npz', 'p004800.npz', 'p004801.npz', 'p004802.npz', 'p004803.npz', 'p004804.npz', 'p004806.npz', 'p004809.npz', 'p004810.npz', 'p004812.npz', 'p004813.npz', 'p004814.npz', 'p004815.npz', 'p004818.npz', 'p004820.npz', 'p004821.npz', 'p004829.npz', 'p004831.npz', 'p004833 (2).npz', 'p004833.npz', 'p004834.npz', 'p004835.npz', 'p004836.npz', 'p004837 (2).npz', 'p004837.npz', 'p004838.npz', 'p004843.npz', 'p004845.npz', 'p004846.npz', 'p004850.npz', 'p004851.npz', 'p004855.npz', 'p004858.npz', 'p004863.npz', 'p004865.npz', 'p004866.npz', 'p004869.npz', 'p004872.npz', 'p004875.npz', 'p004876.npz', 'p004880.npz', 'p004881.npz', 'p004882.npz', 'p004883.npz', 'p004884.npz', 'p004889.npz', 'p004890.npz', 'p004894.npz', 'p004897.npz', 'p004900.npz', 'p004902.npz', 'p004903.npz', 'p004904.npz', 'p004906 (2).npz', 'p004906.npz', 'p004908.npz', 'p004910.npz', 'p004911.npz', 'p004913.npz', 'p004914.npz', 'p004915.npz', 'p004917.npz', 'p004919.npz', 'p004920.npz', 'p004922.npz', 'p004924.npz', 'p004925.npz', 'p004928.npz', 'p004929.npz', 'p004934.npz', 'p004936.npz', 'p004939.npz', 'p004940.npz', 'p004941.npz', 'p004942.npz', 'p004944.npz', 'p004945.npz', 'p004948.npz', 'p004949.npz', 'p004950.npz', 'p004953.npz', 'p004954.npz', 'p004956.npz', 'p004958.npz', 'p004960.npz', 'p004961.npz', 'p004962.npz', 'p004964.npz', 'p004966.npz', 'p004967.npz', 'p004968.npz', 'p004969.npz', 'p004970.npz', 'p004971.npz', 'p004973.npz', 'p004974.npz', 'p004977.npz', 'p004978.npz', 'p004979.npz', 'p004980.npz', 'p004981.npz', 'p004985.npz', 'p004986.npz', 'p004987.npz', 'p004988.npz', 'p004992.npz', 'p004993.npz', 'p004996.npz', 'p004997.npz', 'p004999.npz', 'p005000.npz', 'p005001.npz', 'p005002.npz', 'p005003.npz', 'p005004.npz', 'p005006.npz', 'p005009.npz', 'p005011.npz', 'p005015.npz', 'p005016.npz', 'p005017.npz', 'p005020.npz', 'p005021.npz', 'p005023.npz', 'p005024.npz', 'p005025.npz', 'p005027.npz', 'p005028.npz', 'p005029.npz', 'p005030.npz', 'p005031.npz', 'p005032.npz', 'p005033.npz', 'p005035.npz', 'p005036.npz', 'p005038.npz', 'p005045.npz', 'p005046.npz', 'p005047.npz', 'p005048.npz', 'p005049.npz', 'p005051.npz', 'p005052.npz', 'p005053.npz', 'p005054.npz', 'p005057.npz', 'p005058.npz', 'p005061.npz', 'p005062.npz', 'p005065.npz', 'p005068.npz', 'p005069.npz', 'p005070.npz', 'p005075.npz', 'p005076.npz', 'p005078.npz', 'p005080.npz', 'p005081.npz', 'p005084.npz', 'p005086.npz', 'p005088.npz', 'p005090.npz', 'p005091.npz', 'p005096.npz', 'p005100.npz', 'p005101.npz', 'p005105.npz', 'p005108.npz', 'p005109.npz', 'p005110.npz', 'p005113.npz', 'p005114.npz', 'p005117.npz', 'p005119.npz', 'p005120.npz', 'p005122.npz', 'p005124.npz', 'p005126.npz', 'p005129.npz', 'p005131.npz', 'p005132.npz', 'p005135.npz', 'p005139.npz', 'p005141.npz', 'p005142.npz', 'p005143.npz', 'p005145.npz', 'p005146.npz', 'p005147.npz', 'p005150.npz', 'p005151.npz', 'p005156.npz', 'p005160.npz', 'p005162.npz', 'p005163.npz', 'p005164.npz', 'p005166.npz', 'p005167.npz', 'p005169.npz', 'p005170.npz', 'p005171.npz', 'p005172.npz', 'p005175.npz', 'p005183.npz', 'p005188.npz', 'p005189.npz', 'p005191.npz', 'p005192.npz', 'p005193 (2).npz', 'p005193.npz', 'p005197.npz', 'p005201.npz', 'p005202.npz', 'p005205.npz', 'p005209.npz', 'p005210.npz', 'p005218.npz', 'p005221.npz', 'p005222.npz', 'p005224.npz', 'p005225.npz', 'p005227.npz', 'p005228.npz', 'p005229.npz', 'p005231.npz', 'p005232.npz', 'p005234.npz', 'p005235.npz', 'p005236.npz', 'p005239.npz', 'p005240.npz', 'p005241.npz', 'p005242.npz', 'p005243.npz', 'p005245.npz', 'p005246.npz', 'p005249.npz', 'p005251.npz', 'p005252.npz', 'p005253.npz', 'p005255.npz', 'p005258.npz', 'p005259.npz', 'p005262.npz', 'p005263.npz', 'p005264.npz', 'p005265.npz', 'p005266.npz', 'p005267.npz', 'p005268.npz', 'p005272.npz', 'p005273.npz', 'p005278.npz', 'p005279.npz', 'p005280.npz', 'p005281.npz', 'p005282.npz', 'p005285.npz', 'p005288.npz', 'p005290.npz', 'p005292.npz', 'p005294.npz', 'p005295.npz', 'p005298.npz', 'p005300.npz', 'p005301.npz', 'p005308.npz', 'p005309.npz', 'p005310.npz', 'p005311.npz', 'p005312.npz', 'p005315.npz', 'p005320.npz', 'p005323.npz', 'p005325.npz', 'p005328.npz', 'p005331.npz', 'p005337.npz', 'p005345.npz', 'p005346.npz', 'p005347.npz', 'p005350.npz', 'p005351.npz', 'p005352.npz', 'p005354.npz', 'p005355.npz', 'p005356.npz', 'p005357.npz', 'p005358.npz', 'p005359.npz', 'p005361.npz', 'p005363.npz', 'p005364.npz', 'p005365.npz', 'p005366.npz', 'p005367.npz', 'p005369.npz', 'p005371.npz', 'p005375.npz', 'p005377.npz', 'p005378.npz', 'p005379.npz', 'p005381.npz', 'p005382 (2).npz', 'p005382.npz', 'p005386.npz', 'p005388.npz', 'p005389.npz', 'p005391.npz', 'p005392.npz', 'p005393.npz', 'p005394.npz', 'p005395.npz', 'p005397.npz', 'p005399.npz', 'p005402.npz', 'p005404.npz', 'p005405.npz', 'p005406.npz', 'p005408.npz', 'p005410.npz', 'p005412.npz', 'p005416.npz', 'p005417.npz', 'p005418.npz', 'p005420.npz', 'p005424.npz', 'p005425.npz', 'p005427.npz', 'p005428.npz', 'p005429.npz', 'p005430.npz', 'p005431.npz', 'p005433.npz', 'p005438.npz', 'p005441.npz', 'p005442.npz', 'p005443.npz', 'p005445.npz', 'p005449.npz', 'p005450.npz', 'p005452.npz', 'p005453 (2).npz', 'p005453.npz', 'p005454.npz', 'p005464.npz', 'p005466.npz', 'p005468.npz', 'p005469.npz', 'p005470.npz', 'p005471.npz', 'p005474.npz', 'p005476.npz', 'p005478.npz', 'p005480.npz', 'p005482.npz', 'p005483.npz', 'p005484.npz', 'p005486.npz', 'p005487.npz', 'p005492.npz', 'p005502.npz', 'p005506.npz', 'p005508.npz', 'p005509.npz', 'p005511.npz', 'p005512.npz', 'p005513.npz', 'p005516.npz', 'p005519.npz', 'p005521.npz', 'p005523.npz', 'p005525.npz', 'p005526.npz', 'p005528.npz', 'p005530.npz', 'p005531.npz', 'p005533.npz', 'p005534.npz', 'p005536.npz', 'p005537.npz', 'p005543.npz', 'p005545.npz', 'p005547.npz', 'p005548.npz', 'p005549.npz', 'p005550.npz', 'p005552.npz', 'p005553.npz', 'p005554.npz', 'p005555.npz', 'p005556.npz', 'p005558.npz', 'p005560.npz', 'p005563.npz', 'p005565.npz', 'p005566.npz', 'p005569.npz', 'p005571.npz', 'p005573.npz', 'p005578.npz', 'p005581.npz', 'p005584.npz', 'p005585.npz', 'p005588.npz', 'p005593.npz', 'p005594.npz', 'p005595.npz', 'p005596.npz', 'p005597.npz', 'p005598.npz', 'p005600.npz', 'p005602.npz', 'p005603.npz', 'p005605.npz', 'p005606.npz', 'p005607.npz', 'p005609.npz', 'p005612.npz', 'p005613.npz', 'p005614.npz', 'p005616.npz', 'p005619.npz', 'p005620.npz', 'p005622.npz', 'p005626.npz', 'p005628.npz', 'p005630.npz', 'p005632.npz', 'p005633.npz', 'p005636.npz', 'p005637.npz', 'p005641.npz', 'p005642.npz', 'p005643.npz', 'p005644.npz', 'p005647.npz', 'p005648.npz', 'p005651.npz', 'p005655.npz', 'p005660.npz', 'p005661.npz', 'p005663.npz', 'p005665.npz', 'p005666.npz', 'p005668.npz', 'p005669.npz', 'p005671.npz', 'p005672.npz', 'p005674.npz', 'p005675.npz', 'p005677.npz', 'p005678.npz', 'p005679.npz', 'p005680.npz', 'p005682.npz', 'p005684.npz', 'p005685.npz', 'p005686.npz', 'p005687.npz', 'p005693.npz', 'p005694.npz', 'p005696.npz', 'p005698.npz', 'p005700.npz', 'p005701.npz', 'p005704.npz', 'p005708.npz', 'p005711.npz', 'p005712.npz', 'p005714.npz', 'p005719.npz', 'p005722.npz', 'p005723.npz', 'p005727.npz', 'p005730.npz', 'p005731.npz', 'p005732.npz', 'p005733.npz', 'p005736.npz', 'p005737.npz', 'p005739.npz', 'p005740.npz', 'p005741.npz', 'p005742.npz', 'p005744.npz', 'p005747.npz', 'p005754.npz', 'p005755.npz', 'p005756.npz', 'p005758.npz', 'p005760.npz', 'p005761.npz', 'p005762.npz', 'p005768.npz', 'p005770.npz', 'p005772.npz', 'p005774.npz', 'p005777.npz', 'p005778.npz', 'p005780.npz', 'p005782.npz', 'p005786.npz', 'p005790.npz', 'p005791.npz', 'p005792.npz', 'p005793.npz', 'p005794.npz', 'p005796.npz', 'p005797.npz', 'p005800.npz', 'p005801.npz', 'p005802.npz', 'p005803.npz', 'p005805.npz', 'p005806.npz', 'p005807.npz', 'p005808.npz', 'p005809.npz', 'p005810.npz', 'p005811.npz', 'p005813.npz', 'p005816.npz', 'p005817.npz', 'p005820.npz', 'p005824.npz', 'p005831.npz', 'p005833.npz', 'p005834.npz', 'p005835.npz', 'p005836.npz', 'p005840.npz', 'p005841.npz', 'p005842.npz', 'p005843.npz', 'p005844.npz', 'p005846.npz', 'p005848.npz', 'p005850.npz', 'p005851.npz', 'p005854.npz', 'p005857.npz', 'p005859.npz', 'p005861.npz', 'p005864.npz', 'p005866.npz', 'p005869.npz', 'p005873.npz', 'p005874.npz', 'p005876.npz', 'p005877.npz', 'p005878.npz', 'p005879.npz', 'p005880.npz', 'p005881.npz', 'p005884.npz', 'p005885.npz', 'p005888.npz', 'p005891.npz', 'p005894.npz', 'p005896.npz', 'p005897.npz', 'p005903.npz', 'p005906.npz', 'p005913.npz', 'p005915.npz', 'p005918.npz', 'p005922.npz', 'p005923.npz', 'p005924.npz', 'p005925.npz', 'p005927.npz', 'p005929.npz', 'p005930.npz', 'p005932.npz', 'p005933.npz', 'p005934.npz', 'p005937.npz', 'p005938.npz', 'p005939.npz', 'p005942.npz', 'p005943.npz', 'p005944.npz', 'p005945.npz', 'p005946.npz', 'p005950.npz', 'p005951.npz', 'p005958.npz', 'p005966.npz', 'p005967.npz', 'p005968.npz', 'p005969.npz', 'p005974.npz', 'p005977.npz', 'p005978.npz', 'p005980.npz', 'p005983.npz', 'p005984.npz', 'p005988.npz', 'p005989.npz', 'p005991.npz', 'p005996.npz', 'p005998.npz', 'p005999.npz', 'p006000.npz', 'p006002.npz', 'p006003.npz', 'p006004.npz', 'p006006.npz', 'p006008.npz', 'p006009.npz', 'p006014.npz', 'p006015.npz', 'p006016.npz', 'p006017.npz', 'p006018.npz', 'p006021.npz', 'p006023.npz', 'p006025.npz', 'p006026.npz', 'p006028.npz', 'p006031.npz', 'p006034.npz', 'p006037.npz', 'p006038.npz', 'p006039.npz', 'p006040.npz', 'p006041.npz', 'p006042.npz', 'p006043.npz', 'p006044.npz', 'p006046.npz', 'p006047.npz', 'p006048.npz', 'p006050.npz', 'p006051.npz', 'p006052 (2).npz', 'p006052.npz', 'p006055.npz', 'p006056.npz', 'p006057.npz', 'p006058.npz', 'p006062.npz', 'p006066.npz', 'p006069.npz', 'p006077.npz', 'p006079.npz', 'p006080.npz', 'p006081.npz', 'p006082.npz', 'p006084.npz', 'p006086.npz', 'p006087.npz', 'p006088.npz', 'p006090.npz', 'p006116.npz', 'p006158.npz', 'p006534.npz', 'p006539.npz', 'p006581.npz', 'p006621.npz', 'p006692.npz', 'p006702.npz', 'p006728.npz', 'p006875.npz', 'p007184.npz', 'p007251.npz', 'p007415.npz', 'p007445.npz', 'p007472.npz', 'p007517.npz', 'p007529.npz', 'p007614.npz', 'p007629.npz', 'p007654.npz', 'p007695.npz', 'p007825.npz', 'p007966.npz', 'p008061.npz', 'p008141.npz', 'p008142.npz', 'p008167.npz', 'p008281.npz', 'p008318.npz', 'p008396.npz', 'p008748.npz', 'p008780.npz', 'p008795.npz', 'p008799.npz', 'p008848.npz', 'p008915.npz', 'p009124.npz', 'p009128.npz', 'p009258.npz', 'p009460.npz', 'p009473.npz', 'p009889.npz', 'p009993.npz', 'p010049.npz', 'p010152.npz', 'p010425.npz', 'p010464.npz', 'p010475.npz', 'p010629.npz', 'p010667.npz', 'p010694.npz', 'p010774.npz', 'p010842.npz', 'p010852.npz', 'p011003.npz', 'p011018.npz', 'p011187.npz', 'p011318.npz', 'p011330.npz', 'p011342.npz', 'p011388.npz', 'p011431.npz', 'p011700.npz', 'p011723.npz', 'p011727.npz', 'p011901.npz', 'p011957.npz', 'p012008.npz', 'p012122.npz', 'p012174.npz', 'p012175.npz', 'p012306.npz', 'p012344.npz', 'p012351.npz', 'p012365.npz', 'p012388.npz', 'p012508.npz', 'p012631.npz', 'p012799.npz', 'p012878.npz', 'p013110.npz', 'p013121.npz', 'p013214.npz', 'p013253.npz', 'p013373.npz', 'p013593.npz', 'p013600.npz', 'p013618.npz', 'p013628.npz', 'p013710.npz', 'p013948.npz', 'p014096.npz', 'p014279.npz', 'p014325.npz', 'p014328.npz', 'p014533.npz', 'p014579.npz', 'p014592.npz', 'p014714.npz', 'p014755.npz', 'p014836.npz', 'p014873.npz', 'p014936.npz', 'p014947.npz', 'p015046.npz', 'p015218.npz', 'p015298.npz', 'p015301.npz', 'p015480.npz', 'p015488.npz', 'p015716.npz', 'p015852.npz', 'p015902.npz', 'p016024.npz', 'p016063.npz', 'p016088.npz', 'p016112.npz', 'p016139.npz', 'p016258.npz', 'p016265.npz', 'p016275.npz', 'p016391.npz', 'p016590.npz', 'p016619.npz', 'p016856.npz', 'p016909.npz', 'p016992.npz', 'p017002.npz', 'p017026.npz', 'p017122.npz', 'p017539.npz', 'p017582.npz', 'p017692.npz', 'p017757.npz', 'p017791.npz', 'p017795.npz', 'p017848.npz', 'p017875.npz', 'p017954.npz', 'p018123.npz', 'p018469.npz', 'p018626.npz', 'p018642.npz', 'p018727.npz', 'p018753.npz', 'p018846.npz', 'p018892.npz', 'p018896.npz', 'p018921.npz', 'p018970.npz', 'p018971.npz', 'p018975.npz', 'p018996.npz', 'p019038.npz', 'p019311.npz', 'p019578.npz', 'p019700.npz', 'p019975.npz', 'p020060.npz', 'p020124.npz', 'p020132.npz', 'p020410.npz', 'p020479.npz', 'p021002.npz', 'p021090.npz', 'p021139.npz', 'p021148.npz', 'p021151.npz', 'p021202.npz', 'p021247.npz', 'p021444.npz', 'p021448.npz', 'p021630.npz', 'p021706.npz', 'p021730.npz', 'p021786.npz', 'p021819.npz', 'p021860.npz', 'p021901.npz', 'p022140.npz', 'p022180.npz', 'p022289.npz', 'p022316.npz', 'p022335.npz', 'p022364.npz', 'p022383.npz', 'p022418.npz', 'p022423.npz', 'p022462.npz', 'p022557.npz', 'p022585.npz', 'p022769.npz', 'p022782.npz', 'p022933.npz', 'p023038.npz', 'p023100.npz', 'p023201.npz', 'p023325.npz', 'p023363.npz', 'p023380.npz', 'p023452.npz', 'p023503.npz', 'p023613.npz', 'p023657.npz', 'p023674.npz', 'p023762.npz', 'p023824.npz', 'p023876.npz', 'p023913.npz', 'p023933.npz', 'p024084.npz', 'p024123.npz', 'p024244.npz', 'p024477.npz', 'p024810.npz', 'p024825.npz', 'p024942.npz', 'p025189.npz', 'p025197.npz', 'p025225.npz', 'p025284.npz', 'p025581.npz', 'p025658.npz', 'p025662.npz', 'p025724.npz', 'p025757.npz', 'p025862.npz', 'p026211.npz', 'p026398.npz', 'p026469.npz', 'p026502.npz', 'p026632.npz', 'p026863.npz', 'p026868.npz', 'p026897.npz', 'p026978.npz', 'p027083.npz', 'p027084.npz', 'p027106.npz', 'p027147.npz', 'p027162.npz', 'p027172.npz', 'p027192.npz', 'p027194.npz', 'p027195.npz', 'p027200.npz', 'p027212.npz', 'p027232.npz', 'p027241.npz', 'p027245.npz', 'p027337.npz', 'p027338.npz', 'p027374.npz', 'p027425.npz', 'p027434.npz', 'p027436.npz', 'p027446.npz', 'p027530.npz', 'p027542.npz', 'p027551.npz', 'p027554.npz', 'p027585.npz', 'p027636.npz', 'p027638.npz', 'p027648.npz', 'p027661.npz', 'p027687.npz', 'p027689.npz', 'p027696.npz', 'p027708.npz', 'p027710.npz', 'p027796.npz', 'p027801.npz', 'p027833.npz', 'p027845.npz', 'p027884.npz', 'p027887.npz', 'p028044.npz', 'p028048.npz', 'p028075.npz', 'p028077.npz', 'p028079.npz', 'p028083.npz', 'p028095.npz', 'p028166.npz', 'p028170.npz', 'p028172.npz', 'p028187.npz', 'p028189.npz', 'p028221.npz', 'p028260.npz', 'p028270.npz', 'p028331.npz', 'p028338.npz', 'p028354.npz', 'p028364.npz', 'p028419.npz', 'p028423.npz', 'p028499.npz', 'p028505.npz', 'p028507.npz', 'p028508.npz', 'p028510.npz', 'p028541.npz', 'p028611.npz', 'p028616.npz', 'p028625.npz', 'p028644.npz', 'p028698.npz', 'p028707.npz', 'p028758.npz', 'p028762.npz', 'p028774.npz', 'p028775.npz', 'p028808.npz', 'p028813.npz', 'p028827.npz', 'p028882.npz', 'p028897.npz', 'p028901.npz', 'p028902.npz', 'p028903.npz', 'p028905.npz', 'p028909.npz', 'p028910.npz', 'p028927.npz', 'p029035.npz', 'p029057.npz', 'p029066.npz', 'p029073.npz', 'p029102.npz', 'p029106.npz', 'p029120.npz', 'p029127.npz', 'p029137.npz', 'p029164.npz', 'p029167.npz', 'p029199.npz', 'p029215.npz', 'p029336.npz', 'p029343.npz', 'p029426.npz', 'p029477.npz', 'p029503.npz', 'p029527.npz', 'p029529.npz', 'p029530.npz', 'p029541.npz', 'p029569.npz', 'p029664.npz', 'p029712.npz', 'p029769.npz', 'p029770.npz', 'p029799.npz', 'p029869.npz', 'p029961.npz', 'p029968.npz', 'p030011.npz', 'p030026.npz', 'p030047.npz', 'p030054.npz', 'p030142.npz', 'p030144.npz', 'p030149.npz', 'p030160.npz', 'p030170.npz', 'p030208.npz', 'p030220.npz', 'p030222.npz', 'p030225.npz', 'p030296.npz', 'p030297.npz', 'p030457.npz', 'p030464.npz', 'p030477.npz', 'p030484.npz', 'p030486.npz', 'p030509.npz', 'p030542.npz', 'p030575.npz', 'p030582.npz', 'p030589.npz', 'p030591.npz', 'p030640.npz', 'p030647.npz', 'p030669.npz', 'p030670.npz', 'p030785.npz', 'p030822.npz', 'p030829.npz', 'p030851.npz', 'p030864.npz', 'p030887.npz', 'p031019.npz', 'p031021.npz', 'p031032.npz', 'p031034.npz', 'p031054.npz', 'p031058.npz', 'p031060.npz', 'p031061.npz', 'p031062.npz', 'p031127.npz', 'p031128.npz', 'p031135.npz', 'p031140.npz', 'p031160.npz', 'p031167.npz', 'p031171.npz', 'p031187.npz', 'p031191.npz', 'p031206.npz', 'p031238.npz', 'p031260.npz', 'p031267.npz', 'p031284.npz', 'p031290.npz', 'p031336.npz', 'p031405.npz', 'p031470.npz', 'p031525.npz', 'p031574.npz', 'p031618.npz', 'p031620.npz', 'p031633.npz', 'p031684.npz', 'p031782.npz', 'p031911.npz', 'p031942.npz', 'p031977.npz', 'p031989.npz', 'p031994.npz', 'p032012.npz', 'p032020.npz', 'p032047.npz', 'p032064.npz', 'p032067.npz', 'p032068.npz', 'p032082.npz', 'p032084.npz', 'p032085.npz', 'p032166.npz', 'p032179.npz', 'p032195.npz', 'p032247.npz', 'p032288.npz', 'p032303.npz', 'p032361.npz', 'p032377.npz', 'p032380.npz', 'p032420.npz', 'p032434.npz', 'p032447.npz', 'p032474.npz', 'p032582.npz', 'p032605.npz', 'p032632.npz', 'p032701.npz', 'p032708.npz', 'p032763.npz', 'p032796.npz', 'p032797.npz', 'p040000.npz', 'p040057.npz', 'p040059.npz', 'p040068.npz', 'p040083.npz', 'p040084.npz', 'p040133.npz', 'p040161.npz', 'p040241.npz', 'p040299.npz', 'p040305.npz', 'p040425.npz', 'p040435.npz', 'p040463.npz', 'p040472.npz', 'p040483.npz', 'p040569.npz', 'p040577.npz', 'p040673.npz', 'p040706.npz', 'p040723.npz', 'p040724.npz', 'p040745.npz', 'p040767.npz', 'p040822.npz', 'p040831.npz', 'p040866.npz', 'p040867.npz', 'p040882.npz', 'p040897.npz', 'p040911.npz', 'p040934.npz', 'p040950.npz', 'p040967.npz', 'p040972.npz', 'p040999.npz', 'p041022.npz', 'p041107.npz', 'p041163.npz', 'p041194.npz', 'p041217.npz', 'p041359.npz', 'p041405.npz', 'p041447.npz', 'p041493.npz', 'p041588.npz', 'p041589.npz', 'p041702.npz', 'p041733.npz', 'p041782.npz', 'p041783.npz', 'p041803.npz', 'p041823.npz', 'p041897.npz', 'p041929.npz', 'p041976.npz', 'p041981.npz', 'p042060.npz', 'p042075.npz', 'p042124.npz', 'p042130.npz', 'p042141.npz', 'p042210.npz', 'p042255.npz', 'p042285.npz', 'p042311.npz', 'p042327.npz', 'p042396.npz', 'p042397.npz', 'p042438.npz', 'p042477.npz', 'p042509.npz', 'p042510.npz', 'p042530.npz', 'p042590.npz', 'p042609.npz', 'p042694.npz', 'p042696.npz', 'p042728.npz', 'p042763.npz', 'p042781.npz', 'p042819.npz', 'p042820.npz', 'p042858.npz', 'p042875.npz', 'p042904.npz', 'p042930.npz', 'p042937.npz', 'p043086.npz', 'p043116.npz', 'p043150.npz', 'p043209.npz', 'p043220.npz', 'p043274.npz', 'p043323.npz', 'p043392.npz', 'p043439.npz', 'p043447.npz', 'p043482.npz', 'p043484.npz', 'p043559.npz', 'p043563.npz', 'p043571.npz', 'p043585.npz', 'p043601.npz', 'p043673.npz', 'p043737.npz', 'p043738.npz', 'p043770.npz', 'p043774.npz', 'p043798.npz', 'p043803.npz', 'p043817.npz', 'p043827.npz', 'p043911.npz', 'p043946.npz', 'p043961.npz', 'p044018.npz', 'p044036.npz', 'p044061.npz', 'p044083.npz', 'p044115.npz', 'p044126.npz', 'p044206.npz', 'p044207.npz', 'p044248.npz', 'p044255.npz', 'p044373.npz', 'p044377.npz', 'p044500.npz', 'p044521.npz', 'p044532.npz', 'p044534.npz', 'p044597.npz', 'p044600.npz', 'p044622.npz', 'p044653.npz', 'p044715.npz', 'p044723.npz', 'p044735.npz', 'p044748.npz', 'p044773.npz', 'p044781.npz', 'p044788.npz', 'p044789.npz', 'p044799.npz', 'p044807.npz', 'p044827.npz', 'p044829.npz', 'p044941.npz', 'p044969.npz', 'p044979.npz', 'p045032.npz', 'p045127.npz', 'p045132.npz', 'p045138.npz', 'p045152.npz', 'p045226.npz', 'p045249.npz', 'p045300.npz', 'p045317.npz', 'p045321.npz', 'p045329.npz', 'p045344.npz', 'p045346.npz', 'p045355.npz', 'p045431.npz', 'p045492.npz', 'p045580.npz', 'p045583.npz', 'p045608.npz', 'p045657.npz', 'p045684.npz', 'p045703.npz', 'p045719.npz', 'p045736.npz', 'p045768.npz', 'p045770.npz', 'p045774.npz', 'p045797.npz', 'p045805.npz', 'p045838.npz', 'p045910.npz', 'p045918.npz', 'p045979.npz', 'p046034.npz', 'p046041.npz', 'p046081.npz', 'p046092.npz', 'p046116.npz', 'p046148.npz', 'p046156.npz', 'p046195.npz', 'p046205.npz', 'p046223.npz', 'p046242.npz', 'p046260.npz', 'p046305.npz', 'p046320.npz', 'p046415.npz', 'p046429.npz', 'p046480.npz', 'p046497.npz', 'p046510.npz', 'p046550.npz', 'p046551.npz', 'p046566.npz', 'p046611.npz', 'p046651.npz', 'p046695.npz', 'p046723.npz', 'p046744.npz', 'p046809.npz', 'p046858.npz', 'p046938.npz', 'p046968.npz', 'p047013.npz', 'p047045.npz', 'p047046.npz', 'p047058.npz', 'p047137.npz', 'p047203.npz', 'p047234.npz', 'p047255.npz', 'p047275.npz', 'p047287.npz', 'p047309.npz', 'p047335.npz', 'p047453.npz', 'p047543.npz', 'p047613.npz', 'p047677.npz', 'p047731.npz', 'p047733.npz', 'p047747.npz', 'p047757.npz', 'p047758.npz', 'p047814.npz', 'p047858.npz', 'p047874.npz', 'p047978.npz', 'p047980.npz', 'p047983.npz', 'p047989.npz', 'p048038.npz', 'p048056.npz', 'p048118.npz', 'p048121.npz', 'p048124.npz', 'p048149.npz', 'p048212.npz', 'p048239.npz', 'p048267.npz', 'p048314.npz', 'p048327.npz', 'p048351.npz', 'p048388.npz', 'p048397.npz', 'p048398.npz', 'p048414.npz', 'p048425.npz', 'p048479.npz', 'p048480.npz', 'p048536.npz', 'p048580.npz', 'p048647.npz', 'p048690.npz', 'p048736.npz', 'p048756.npz', 'p048774.npz', 'p048826.npz', 'p048872.npz', 'p048895.npz', 'p048946.npz', 'p049023.npz', 'p049024.npz', 'p049038.npz', 'p049067.npz', 'p049068.npz', 'p049140.npz', 'p049191.npz', 'p049255.npz', 'p049261.npz', 'p049311.npz', 'p049367.npz', 'p049431.npz', 'p049520.npz', 'p049545.npz', 'p049555.npz', 'p049578.npz', 'p049613.npz', 'p049622.npz', 'p049632.npz', 'p049649.npz', 'p049650.npz', 'p049723.npz', 'p049780.npz', 'p049868.npz', 'p049881.npz', 'p049925.npz', 'p049970.npz', 'p049984.npz', 'p050034.npz', 'p050093.npz', 'p050094.npz', 'p050136.npz', 'p050161.npz', 'p050182.npz', 'p050201.npz', 'p050273.npz', 'p050302.npz', 'p050336.npz', 'p050385.npz', 'p050480.npz', 'p050532.npz', 'p050561.npz', 'p050579.npz', 'p050634.npz', 'p050664.npz', 'p050721.npz', 'p050735.npz', 'p050767.npz', 'p050804.npz', 'p050817.npz', 'p050822.npz', 'p050827.npz', 'p050847.npz', 'p050863.npz', 'p050877.npz', 'p050880.npz', 'p050888.npz', 'p050899.npz', 'p050976.npz', 'p050991.npz', 'p051000.npz', 'p051013.npz', 'p051017.npz', 'p051021.npz', 'p051064.npz', 'p051072.npz', 'p051078.npz', 'p051121.npz', 'p051188.npz', 'p051202.npz', 'p051301.npz', 'p051321.npz', 'p051327.npz', 'p051374.npz', 'p051451.npz', 'p051459.npz', 'p051482.npz', 'p051497.npz', 'p051515.npz', 'p051577.npz', 'p051582.npz', 'p051596.npz', 'p051597.npz', 'p051724.npz', 'p051790.npz', 'p051795.npz', 'p051805.npz', 'p051821.npz', 'p051858.npz', 'p051864.npz', 'p051871.npz', 'p051890.npz', 'p051909.npz', 'p051912.npz', 'p051951.npz', 'p051986.npz', 'p051992.npz', 'p052011.npz', 'p052057.npz', 'p052087.npz', 'p052146.npz', 'p052191.npz', 'p052207.npz', 'p052234.npz', 'p052238.npz', 'p052264.npz', 'p052269.npz', 'p052296.npz', 'p052307.npz', 'p052355.npz', 'p052370.npz', 'p052436.npz', 'p052441.npz', 'p052453.npz', 'p052503.npz', 'p052529.npz', 'p052532.npz', 'p052547.npz', 'p052550.npz', 'p052556.npz', 'p052620.npz', 'p052622.npz', 'p052641.npz', 'p052666.npz', 'p052693.npz', 'p052696.npz', 'p052710.npz', 'p052740.npz', 'p052766.npz', 'p052779.npz', 'p052816.npz', 'p052846.npz', 'p052867.npz', 'p052875.npz', 'p052900.npz', 'p052932.npz', 'p052934.npz', 'p052974.npz', 'p053013.npz', 'p053015.npz', 'p053036.npz', 'p053102.npz', 'p053149.npz', 'p053173.npz', 'p053176.npz', 'p053191.npz', 'p053216.npz', 'p053238.npz', 'p053247.npz', 'p053252.npz', 'p053282.npz', 'p053283.npz', 'p053294.npz', 'p053342.npz', 'p053348.npz', 'p053404.npz', 'p053417.npz', 'p053425.npz', 'p053435.npz', 'p053440.npz', 'p053462.npz', 'p053514.npz', 'p053548.npz', 'p053567.npz', 'p053608.npz', 'p053632.npz', 'p053636.npz', 'p053639.npz', 'p053663.npz', 'p053707.npz', 'p053724.npz', 'p053865.npz', 'p053878.npz', 'p053978.npz', 'p054005.npz', 'p054020.npz', 'p054043.npz', 'p054073.npz', 'p054088.npz', 'p054110.npz', 'p054120.npz', 'p054132.npz', 'p054147.npz', 'p054197.npz', 'p054385.npz', 'p054397.npz', 'p054420.npz', 'p054444.npz', 'p054470.npz', 'p054541.npz', 'p054585.npz', 'p054586.npz', 'p054600.npz', 'p054610.npz', 'p054757.npz', 'p054775.npz', 'p054822.npz', 'p054826.npz', 'p054893.npz', 'p054911.npz', 'p054961.npz', 'p054969.npz', 'p054987.npz', 'p055030.npz', 'p055090.npz', 'p055094.npz', 'p055260.npz', 'p055263.npz', 'p055337.npz', 'p055363.npz', 'p055365.npz', 'p055393.npz', 'p055446.npz', 'p055523.npz', 'p055545.npz', 'p055563.npz', 'p055657.npz', 'p055677.npz', 'p055716.npz', 'p055722.npz', 'p055725.npz', 'p055729.npz', 'p055730.npz', 'p055772.npz', 'p055821.npz', 'p055849.npz', 'p055853.npz', 'p055920.npz', 'p055921.npz', 'p055922.npz', 'p055973.npz', 'p055992.npz', 'p056038.npz', 'p056069.npz', 'p056076.npz', 'p056130.npz', 'p056201.npz', 'p056229.npz', 'p056243.npz', 'p056287.npz', 'p056289.npz', 'p056290.npz', 'p056307.npz', 'p056319.npz', 'p056322.npz', 'p056361.npz', 'p056364.npz', 'p056440.npz', 'p056460.npz', 'p056490.npz', 'p056502.npz', 'p056583.npz', 'p056593.npz', 'p056634.npz', 'p056740.npz', 'p056746.npz', 'p056751.npz', 'p056796.npz', 'p056867.npz', 'p056878.npz', 'p056890.npz', 'p056963.npz', 'p057001.npz', 'p057023.npz', 'p057091.npz', 'p057093.npz', 'p057130.npz', 'p057158.npz', 'p057171.npz', 'p057199.npz', 'p057208.npz', 'p057239.npz', 'p057283.npz', 'p057293.npz', 'p057314.npz', 'p057321.npz', 'p057476.npz', 'p057489.npz', 'p057490.npz', 'p057562.npz', 'p057568.npz', 'p057585.npz', 'p057619.npz', 'p057697.npz', 'p057752.npz', 'p057774.npz', 'p057815.npz', 'p057886.npz', 'p057899.npz', 'p057935.npz', 'p057968.npz', 'p058008.npz', 'p058010.npz', 'p058099.npz', 'p058128.npz', 'p058135.npz', 'p058187.npz', 'p058205.npz', 'p058218.npz', 'p058237.npz', 'p058238.npz', 'p058242.npz', 'p058247.npz', 'p058286.npz', 'p058321.npz', 'p058327.npz', 'p058337.npz', 'p058431.npz', 'p058483.npz', 'p058586.npz', 'p058662.npz', 'p058732.npz', 'p058740.npz', 'p058757.npz', 'p058792.npz', 'p058812.npz', 'p058899.npz', 'p058917.npz', 'p058967.npz', 'p058975.npz', 'p058984.npz', 'p059004.npz', 'p059049.npz', 'p059053.npz', 'p059073.npz', 'p059085.npz', 'p059102.npz', 'p059222.npz', 'p059267.npz', 'p059268.npz', 'p059270.npz', 'p059285.npz', 'p059290.npz', 'p059347.npz', 'p059381.npz', 'p059447.npz', 'p059513.npz', 'p059546.npz', 'p059585.npz', 'p059701.npz', 'p059703.npz', 'p059783.npz', 'p059788.npz', 'p059807.npz', 'p059828.npz', 'p059845.npz', 'p059864.npz', 'p059883.npz', 'p059889.npz', 'p059907.npz', 'p059924.npz', 'p059936.npz', 'p059960.npz', 'p059964.npz', 'p059991.npz', 'p059997.npz', 'p060038.npz', 'p060104.npz', 'p060115.npz', 'p060118.npz', 'p060169.npz', 'p060180.npz', 'p060181.npz', 'p060226.npz', 'p060262.npz', 'p060274.npz', 'p060294.npz', 'p060295.npz', 'p060343.npz', 'p060393.npz', 'p060409.npz', 'p060432.npz', 'p060441.npz', 'p060518.npz', 'p060531.npz', 'p060641.npz', 'p060659.npz', 'p060685.npz', 'p060735.npz', 'p060747.npz', 'p060767.npz', 'p060778.npz', 'p060783.npz', 'p060949.npz', 'p060961.npz', 'p060983.npz', 'p060987.npz', 'p061003.npz', 'p061024.npz', 'p061030.npz', 'p061156.npz', 'p061157.npz', 'p061201.npz', 'p061207.npz', 'p061213.npz', 'p061248.npz', 'p061282.npz', 'p061295.npz', 'p061316.npz', 'p061472.npz', 'p061568.npz', 'p061591.npz', 'p061642.npz', 'p061663.npz', 'p061742.npz', 'p061823.npz', 'p061828.npz', 'p061877.npz', 'p061898.npz', 'p061928.npz', 'p061932.npz', 'p061959.npz', 'p062160.npz', 'p062186.npz', 'p062232.npz', 'p062248.npz', 'p062254.npz', 'p062259.npz', 'p062298.npz', 'p062305.npz', 'p062323.npz', 'p062380.npz', 'p062415.npz', 'p062447.npz', 'p062497.npz', 'p062530.npz', 'p062561.npz', 'p062603.npz', 'p062608.npz', 'p062646.npz', 'p062647.npz', 'p062674.npz', 'p062681.npz', 'p062684.npz', 'p062722.npz', 'p062782.npz', 'p062795.npz', 'p062824.npz', 'p062829.npz', 'p062833.npz', 'p062835.npz', 'p062917.npz', 'p062919.npz', 'p062926.npz', 'p062965.npz', 'p062974.npz', 'p062980.npz', 'p063063.npz', 'p063073.npz', 'p063076.npz', 'p063113.npz', 'p063116.npz', 'p063130.npz', 'p063133.npz', 'p063187.npz', 'p063201.npz', 'p063368.npz', 'p063372.npz', 'p063402.npz', 'p063444.npz', 'p063447.npz', 'p063456.npz', 'p063482.npz', 'p063486.npz', 'p063496.npz', 'p063531.npz', 'p063541.npz', 'p063552.npz', 'p063559.npz', 'p063621.npz', 'p063628.npz', 'p063646.npz', 'p063660.npz', 'p063706.npz', 'p063710.npz', 'p063733.npz', 'p063762.npz', 'p063834.npz', 'p063865.npz', 'p063878.npz', 'p063890.npz', 'p063934.npz', 'p063938.npz', 'p063944.npz', 'p063961.npz', 'p063987.npz', 'p063992.npz', 'p064008.npz', 'p064025.npz', 'p064026.npz', 'p064067.npz', 'p064083.npz', 'p064089.npz', 'p064099.npz', 'p064101.npz', 'p064120.npz', 'p064136.npz', 'p064137.npz', 'p064150.npz', 'p064192.npz', 'p064253.npz', 'p064277.npz', 'p064280.npz', 'p064287.npz', 'p064334.npz', 'p064361.npz', 'p064377.npz', 'p064411.npz', 'p064459.npz', 'p064538.npz', 'p064550.npz', 'p064601.npz', 'p064663.npz', 'p064673.npz', 'p064700.npz', 'p064719.npz', 'p064771.npz', 'p064785.npz', 'p064798.npz', 'p064830.npz', 'p064839.npz', 'p064906.npz', 'p064916.npz', 'p064925.npz', 'p064927.npz', 'p064965.npz', 'p064970.npz', 'p064996.npz', 'p065003.npz', 'p065006.npz', 'p065013.npz', 'p065052.npz', 'p065112.npz', 'p065176.npz', 'p065180.npz', 'p065240.npz', 'p065263.npz', 'p065268.npz', 'p065342.npz', 'p065393.npz', 'p065476.npz', 'p065484.npz', 'p065527.npz', 'p065565.npz', 'p065611.npz', 'p065634.npz', 'p065675.npz', 'p065689.npz', 'p065728.npz', 'p065760.npz', 'p065793.npz', 'p065824.npz', 'p065837.npz', 'p065843.npz', 'p065849.npz', 'p065871.npz', 'p065890.npz', 'p065951.npz', 'p066031.npz', 'p066043.npz', 'p066061.npz', 'p066067.npz', 'p066105.npz', 'p066152.npz', 'p066170.npz', 'p066172.npz', 'p066206.npz', 'p066228.npz', 'p066264.npz', 'p066288.npz', 'p066322.npz', 'p066346.npz', 'p066424.npz', 'p066437.npz', 'p066483.npz', 'p066505.npz', 'p066507.npz', 'p066556.npz', 'p066560.npz', 'p066603.npz', 'p066643.npz', 'p066677.npz', 'p066682.npz', 'p066692.npz', 'p066720.npz', 'p066727.npz', 'p066772.npz', 'p066786.npz', 'p066878.npz', 'p066880.npz', 'p066936.npz', 'p066955.npz', 'p066965.npz', 'p067050.npz', 'p067058.npz', 'p067101.npz', 'p067154.npz', 'p067172.npz', 'p067223.npz', 'p067283.npz', 'p067344.npz', 'p067348.npz', 'p067468.npz', 'p067475.npz', 'p067533.npz', 'p067617.npz', 'p067620.npz', 'p067639.npz', 'p067659.npz', 'p067684.npz', 'p067718.npz', 'p067722.npz', 'p067735.npz', 'p067747.npz', 'p067763.npz', 'p067796.npz', 'p067976.npz', 'p067996.npz', 'p068036.npz', 'p068065.npz', 'p068116.npz', 'p068126.npz', 'p068127.npz', 'p068228.npz', 'p068251.npz', 'p068268.npz', 'p068299.npz', 'p068300.npz', 'p068356.npz', 'p068396.npz', 'p068425.npz', 'p068426.npz', 'p068450.npz', 'p068453.npz', 'p068457.npz', 'p068464.npz', 'p068475.npz', 'p068533.npz', 'p068564.npz', 'p068589.npz', 'p068611.npz', 'p068624.npz', 'p068629.npz', 'p068663.npz', 'p068685.npz', 'p068690.npz', 'p068703.npz', 'p068738.npz', 'p068744.npz', 'p068785.npz', 'p068824.npz', 'p068870.npz', 'p068902.npz', 'p068915.npz', 'p068919.npz', 'p068949.npz', 'p068956.npz', 'p068964.npz', 'p068980.npz', 'p068991.npz', 'p069006.npz', 'p069020.npz', 'p069027.npz', 'p069039.npz', 'p069047.npz', 'p069082.npz', 'p069108.npz', 'p069146.npz', 'p069162.npz', 'p069170.npz', 'p069182.npz', 'p069215.npz', 'p069233.npz', 'p069251.npz', 'p069272.npz', 'p069293.npz', 'p069296.npz', 'p069343.npz', 'p069351.npz', 'p069370.npz', 'p069388.npz', 'p069411.npz', 'p069434.npz', 'p069464.npz', 'p069483.npz', 'p069501.npz', 'p069518.npz', 'p069522.npz', 'p069537.npz', 'p069559.npz', 'p069563.npz', 'p069620.npz', 'p069684.npz', 'p069693.npz', 'p069709.npz', 'p069778.npz', 'p069857.npz', 'p069903.npz', 'p070104.npz', 'p070142.npz', 'p070223.npz', 'p070313.npz', 'p070329.npz', 'p070330.npz', 'p070380.npz', 'p070393.npz', 'p070396.npz', 'p070420.npz', 'p070425.npz', 'p070427.npz', 'p070469.npz', 'p070494.npz', 'p070496.npz', 'p070505.npz', 'p070592.npz', 'p070714.npz', 'p070723.npz', 'p070763.npz', 'p070764.npz', 'p070786.npz', 'p070794.npz', 'p070807.npz', 'p070842.npz', 'p070929.npz', 'p071025.npz', 'p071059.npz', 'p071070.npz', 'p071091.npz', 'p071213.npz', 'p071230.npz', 'p071262.npz', 'p071277.npz', 'p071353.npz', 'p071375.npz', 'p071414.npz', 'p071473.npz', 'p071477.npz', 'p071514.npz', 'p071527.npz', 'p071638.npz', 'p071645.npz', 'p071702.npz', 'p071793.npz', 'p071808.npz', 'p071848.npz', 'p071862.npz', 'p071869.npz', 'p071872.npz', 'p071924.npz', 'p072048.npz', 'p072073.npz', 'p072083.npz', 'p072107.npz', 'p072172.npz', 'p072189.npz', 'p072196.npz', 'p072203.npz', 'p072269.npz', 'p072282.npz', 'p072308.npz', 'p072327.npz', 'p072350.npz', 'p072377.npz', 'p072426.npz', 'p072439.npz', 'p072455.npz', 'p072482.npz', 'p072541.npz', 'p072555.npz', 'p072562.npz', 'p072627.npz', 'p072634.npz', 'p072667.npz', 'p072678.npz', 'p072790.npz', 'p072847.npz', 'p072885.npz', 'p072908.npz', 'p072914.npz', 'p072931.npz', 'p072992.npz', 'p073015.npz', 'p073048.npz', 'p073087.npz', 'p073118.npz', 'p073124.npz', 'p073175.npz', 'p073242.npz', 'p073265.npz', 'p073302.npz', 'p073376.npz', 'p073409.npz', 'p073429.npz', 'p073471.npz', 'p073477.npz', 'p073546.npz', 'p073608.npz', 'p073611.npz', 'p073645.npz', 'p073682.npz', 'p073693.npz', 'p073713.npz', 'p073755.npz', 'p073756.npz', 'p073760.npz', 'p073767.npz', 'p073770.npz', 'p073867.npz', 'p073893.npz', 'p073896.npz', 'p073946.npz', 'p073955.npz', 'p073979.npz', 'p074032.npz', 'p074046.npz', 'p074188.npz', 'p074215.npz', 'p074220.npz', 'p074230.npz', 'p074252.npz', 'p074260.npz', 'p074410.npz', 'p074418.npz', 'p074438.npz', 'p074443.npz', 'p074482.npz', 'p074486.npz', 'p074493.npz', 'p074496.npz', 'p074503.npz', 'p074514.npz', 'p074533.npz', 'p074546.npz', 'p074618.npz', 'p074630.npz', 'p074640.npz', 'p074683.npz', 'p074696.npz', 'p074701.npz', 'p074711.npz', 'p074727.npz', 'p074763.npz', 'p074779.npz', 'p074798.npz', 'p074816.npz', 'p074820.npz', 'p074835.npz', 'p074860.npz', 'p074866.npz', 'p074899.npz', 'p074955.npz', 'p074967.npz', 'p074976.npz', 'p074982.npz', 'p075001.npz', 'p075013.npz', 'p075034.npz', 'p075100.npz', 'p075107.npz', 'p075114.npz', 'p075138.npz', 'p075142.npz', 'p075170.npz', 'p075223.npz', 'p075347.npz', 'p075350.npz', 'p075354.npz', 'p075369.npz', 'p075371.npz', 'p075557.npz', 'p075576.npz', 'p075581.npz', 'p075638.npz', 'p075644.npz', 'p075670.npz', 'p075793.npz', 'p075856.npz', 'p075883.npz', 'p075886.npz', 'p075894.npz', 'p075919.npz', 'p075941.npz', 'p075998.npz', 'p076012.npz', 'p076028.npz', 'p076066.npz', 'p076096.npz', 'p076154.npz', 'p076178.npz', 'p076186.npz', 'p076237.npz', 'p076253.npz', 'p076261.npz', 'p076265.npz', 'p076318.npz', 'p076327.npz', 'p076332.npz', 'p076390.npz', 'p076418.npz', 'p076430.npz', 'p076646.npz', 'p076670.npz', 'p076675.npz', 'p076709.npz', 'p076711.npz', 'p076780.npz', 'p076841.npz', 'p076876.npz', 'p076896.npz', 'p076899.npz', 'p076925.npz', 'p076930.npz', 'p076945.npz', 'p076974.npz', 'p077010.npz', 'p077070.npz', 'p077129.npz', 'p077131.npz', 'p077220.npz', 'p077280.npz', 'p077310.npz', 'p077312.npz', 'p077330.npz', 'p077383.npz', 'p077543.npz', 'p077617.npz', 'p077686.npz', 'p077691.npz', 'p077804.npz', 'p077815.npz', 'p077826.npz', 'p077836.npz', 'p077875.npz', 'p077927.npz', 'p077951.npz', 'p077975.npz', 'p078009.npz', 'p078023.npz', 'p078076.npz', 'p078101.npz', 'p078117.npz', 'p078143.npz', 'p078155.npz', 'p078158.npz', 'p078168.npz', 'p078182.npz', 'p078195.npz', 'p078251.npz', 'p078292.npz', 'p078293.npz', 'p078308.npz', 'p078342.npz', 'p078346.npz', 'p078356.npz', 'p078366.npz', 'p078368.npz', 'p078375.npz', 'p078416.npz', 'p078419.npz', 'p078424.npz', 'p078473.npz', 'p078474.npz', 'p078476.npz', 'p078481.npz', 'p078506.npz', 'p078515.npz', 'p078565.npz', 'p078615.npz', 'p078641.npz', 'p078686.npz', 'p078716.npz', 'p078840.npz', 'p078876.npz', 'p078879.npz', 'p078892.npz', 'p078911.npz', 'p078988.npz', 'p079051.npz', 'p079081.npz', 'p079137.npz', 'p079184.npz', 'p079228.npz', 'p079285.npz', 'p079288.npz', 'p079297.npz', 'p079306.npz', 'p079308.npz', 'p079352.npz', 'p079358.npz', 'p079372.npz', 'p079396.npz', 'p079422.npz', 'p079532.npz', 'p079575.npz', 'p079617.npz', 'p079645.npz', 'p079664.npz', 'p079671.npz', 'p079762.npz', 'p079875.npz', 'p079876.npz', 'p080105.npz', 'p080134.npz', 'p080142.npz', 'p080156.npz', 'p080162.npz', 'p080209.npz', 'p080339.npz', 'p080350.npz', 'p080436.npz', 'p080472.npz', 'p080497.npz', 'p080536.npz', 'p080561.npz', 'p080602.npz', 'p080606.npz', 'p080644.npz', 'p080678.npz', 'p080726.npz', 'p080737.npz', 'p080744.npz', 'p080790.npz', 'p080826.npz', 'p080843.npz', 'p080847.npz', 'p080903.npz', 'p080985.npz', 'p081007.npz', 'p081025.npz', 'p081037.npz', 'p081050.npz', 'p081103.npz', 'p081150.npz', 'p081193.npz', 'p081247.npz', 'p081334.npz', 'p081371.npz', 'p081378.npz', 'p081410.npz', 'p081425.npz', 'p081449.npz', 'p081464.npz', 'p081475.npz', 'p081480.npz', 'p081491.npz', 'p081515.npz', 'p081519.npz', 'p081535.npz', 'p081536.npz', 'p081543.npz', 'p081558.npz', 'p081583.npz', 'p081593.npz', 'p081633.npz', 'p081636.npz', 'p081700.npz', 'p081750.npz', 'p081758.npz', 'p081763.npz', 'p081797.npz', 'p081818.npz', 'p081846.npz', 'p081893.npz', 'p081918.npz', 'p081978.npz', 'p081980.npz', 'p081990.npz', 'p082000.npz', 'p082015.npz', 'p082038.npz', 'p082065.npz', 'p082130.npz', 'p082132.npz', 'p082178.npz', 'p082184.npz', 'p082187.npz', 'p082238.npz', 'p082245.npz', 'p082258.npz', 'p082290.npz', 'p082299.npz', 'p082360.npz', 'p082393.npz', 'p082418.npz', 'p082432.npz', 'p082433.npz', 'p082434.npz', 'p082462.npz', 'p082466.npz', 'p082494.npz', 'p082520.npz', 'p082545.npz', 'p082574.npz', 'p082579.npz', 'p082641.npz', 'p082685.npz', 'p082694.npz', 'p082746.npz', 'p082759.npz', 'p082762.npz', 'p082799.npz', 'p082938.npz', 'p082950.npz', 'p082973.npz', 'p083013.npz', 'p083065.npz', 'p083120.npz', 'p083122.npz', 'p083124.npz', 'p083128.npz', 'p083180.npz', 'p083182.npz', 'p083206.npz', 'p083210.npz', 'p083224.npz', 'p083225.npz', 'p083228.npz', 'p083263.npz', 'p083272.npz', 'p083310.npz', 'p083393.npz', 'p083406.npz', 'p083418.npz', 'p083464.npz', 'p083599.npz', 'p083608.npz', 'p083629.npz', 'p083653.npz', 'p083700.npz', 'p083728.npz', 'p083749.npz', 'p083751.npz', 'p083752.npz', 'p083782.npz', 'p083794.npz', 'p083860.npz', 'p083892.npz', 'p083947.npz', 'p084020.npz', 'p084042.npz', 'p084063.npz', 'p084084.npz', 'p084120.npz', 'p084187.npz', 'p084223.npz', 'p084347.npz', 'p084350.npz', 'p084392.npz', 'p084461.npz', 'p084469.npz', 'p084473.npz', 'p084479.npz', 'p084495.npz', 'p084531.npz', 'p084595.npz', 'p084629.npz', 'p084669.npz', 'p084749.npz', 'p084766.npz', 'p084802.npz', 'p084826.npz', 'p084842.npz', 'p084845.npz', 'p084854.npz', 'p084886.npz', 'p084909.npz', 'p084938.npz', 'p084958.npz', 'p085039.npz', 'p085042.npz', 'p085079.npz', 'p085181.npz', 'p085202.npz', 'p085235.npz', 'p085258.npz', 'p085293.npz', 'p085401.npz', 'p085402.npz', 'p085421.npz', 'p085493.npz', 'p085508.npz', 'p085535.npz', 'p085541.npz', 'p085562.npz', 'p085620.npz', 'p085639.npz', 'p085649.npz', 'p085655.npz', 'p085658.npz', 'p085685.npz', 'p085698.npz', 'p085725.npz', 'p085755.npz', 'p085889.npz', 'p085892.npz', 'p085895.npz', 'p085976.npz', 'p085980.npz', 'p086041.npz', 'p086068.npz', 'p086078.npz', 'p086108.npz', 'p086144.npz', 'p086210.npz', 'p086220.npz', 'p086254.npz', 'p086300.npz', 'p086348.npz', 'p086359.npz', 'p086383.npz', 'p086392.npz', 'p086487.npz', 'p086531.npz', 'p086546.npz', 'p086556.npz', 'p086570.npz', 'p086585.npz', 'p086645.npz', 'p086648.npz', 'p086663.npz', 'p086678.npz', 'p086692.npz', 'p086719.npz', 'p086773.npz', 'p086831.npz', 'p086976.npz', 'p086984.npz', 'p087018.npz', 'p087049.npz', 'p087082.npz', 'p087119.npz', 'p087133.npz', 'p087134.npz', 'p087216.npz', 'p087247.npz', 'p087310.npz', 'p087325.npz', 'p087336.npz', 'p087344.npz', 'p087470.npz', 'p087474.npz', 'p087481.npz', 'p087552.npz', 'p087577.npz', 'p087608.npz', 'p087640.npz', 'p087675.npz', 'p087687.npz', 'p087692.npz', 'p087794.npz', 'p087858.npz', 'p087913.npz', 'p087948.npz', 'p087953.npz', 'p087962.npz', 'p087965.npz', 'p087969.npz', 'p087986.npz', 'p088065.npz', 'p088111.npz', 'p088146.npz', 'p088152.npz', 'p088174.npz', 'p088202.npz', 'p088206.npz', 'p088224.npz', 'p088236.npz', 'p088265.npz', 'p088308.npz', 'p088309.npz', 'p088325.npz', 'p088471.npz', 'p088514.npz', 'p088531.npz', 'p088552.npz', 'p088647.npz', 'p088685.npz', 'p088691.npz', 'p088696.npz', 'p088726.npz', 'p088734.npz', 'p088747.npz', 'p088764.npz', 'p088809.npz', 'p088851.npz', 'p088883.npz', 'p088907.npz', 'p088937.npz', 'p088953.npz', 'p088994.npz', 'p089002.npz', 'p089026.npz', 'p089091.npz', 'p089180.npz', 'p089223.npz', 'p089232.npz', 'p089291.npz', 'p089292.npz', 'p089303.npz', 'p089336.npz', 'p089356.npz', 'p089415.npz', 'p089437.npz', 'p089488.npz', 'p089502.npz', 'p089544.npz', 'p089563.npz', 'p089579.npz', 'p089689.npz', 'p089697.npz', 'p089734.npz', 'p089772.npz', 'p089782.npz', 'p089797.npz', 'p089802.npz', 'p089840.npz', 'p089901.npz', 'p089906.npz', 'p089909.npz', 'p089914.npz', 'p089956.npz', 'p090012.npz', 'p090020.npz', 'p090032.npz', 'p090075.npz', 'p090151.npz', 'p090158.npz', 'p090208.npz', 'p090269.npz', 'p090398.npz', 'p090403.npz', 'p090466.npz', 'p090522.npz', 'p090533.npz', 'p090544.npz', 'p090560.npz', 'p090605.npz', 'p090607.npz', 'p090658.npz', 'p090676.npz', 'p090729.npz', 'p090889.npz', 'p090902.npz', 'p090903.npz', 'p090910.npz', 'p090917.npz', 'p090959.npz', 'p090990.npz', 'p091004.npz', 'p091018.npz', 'p091031.npz', 'p091038.npz', 'p091103.npz', 'p091136.npz', 'p091210.npz', 'p091245.npz', 'p091258.npz', 'p091309.npz', 'p091332.npz', 'p091383.npz', 'p091437.npz', 'p091463.npz', 'p091470.npz', 'p091531.npz', 'p091558.npz', 'p091561.npz', 'p091581.npz', 'p091614.npz', 'p091669.npz', 'p091694.npz', 'p091712.npz', 'p091802.npz', 'p091841.npz', 'p091855.npz', 'p091872.npz', 'p091904.npz', 'p091907.npz', 'p091978.npz', 'p092055.npz', 'p092057.npz', 'p092066.npz', 'p092137.npz', 'p092175.npz', 'p092239.npz', 'p092247.npz', 'p092252.npz', 'p092277.npz', 'p092278.npz', 'p092283.npz', 'p092292.npz', 'p092317.npz', 'p092331.npz', 'p092381.npz', 'p092420.npz', 'p092455.npz', 'p092464.npz', 'p092525.npz', 'p092578.npz', 'p092585.npz', 'p092651.npz', 'p092668.npz', 'p092703.npz', 'p092839.npz', 'p092843.npz', 'p092846.npz', 'p092969.npz', 'p092982.npz', 'p093031.npz', 'p093054.npz', 'p093056.npz', 'p093062.npz', 'p093077.npz', 'p093078.npz', 'p093088.npz', 'p093123.npz', 'p093142.npz', 'p093206.npz', 'p093209.npz', 'p093336.npz', 'p093360.npz', 'p093392.npz', 'p093462.npz', 'p093472.npz', 'p093479.npz', 'p093486.npz', 'p093504.npz', 'p093518.npz', 'p093535.npz', 'p093557.npz', 'p093560.npz', 'p093564.npz', 'p093578.npz', 'p093587.npz', 'p093596.npz', 'p093602.npz', 'p093633.npz', 'p093637.npz', 'p093640.npz', 'p093648.npz', 'p093653.npz', 'p093717.npz', 'p093755.npz', 'p093784.npz', 'p093788.npz', 'p093833.npz', 'p093836.npz', 'p093898.npz', 'p093950.npz', 'p094024.npz', 'p094046.npz', 'p094072.npz', 'p094079.npz', 'p094105.npz', 'p094147.npz', 'p094162.npz', 'p094216.npz', 'p094220.npz', 'p094256.npz', 'p094300.npz', 'p094483.npz', 'p094491.npz', 'p094581.npz', 'p094597.npz', 'p094618.npz', 'p094645.npz', 'p094669.npz', 'p094673.npz', 'p094689.npz', 'p094765.npz', 'p094785.npz', 'p094794.npz', 'p094820.npz', 'p094837.npz', 'p094853.npz', 'p094897.npz', 'p094924.npz', 'p094977.npz', 'p094987.npz', 'p094991.npz', 'p094993.npz', 'p095071.npz', 'p095088.npz', 'p095118.npz', 'p095201.npz', 'p095235.npz', 'p095237.npz', 'p095343.npz', 'p095354.npz', 'p095377.npz', 'p095380.npz', 'p095512.npz', 'p095517.npz', 'p095632.npz', 'p095674.npz', 'p095676.npz', 'p095708.npz', 'p095776.npz', 'p095830.npz', 'p095839.npz', 'p095868.npz', 'p095892.npz', 'p095893.npz', 'p095951.npz', 'p095957.npz', 'p096008.npz', 'p096015.npz', 'p096049.npz', 'p096057.npz', 'p096145.npz', 'p096147.npz', 'p096148.npz', 'p096171.npz', 'p096240.npz', 'p096259.npz', 'p096261.npz', 'p096264.npz', 'p096305.npz', 'p096338.npz', 'p096350.npz', 'p096365.npz', 'p096394.npz', 'p096530.npz', 'p096631.npz', 'p096643.npz', 'p096746.npz', 'p096747.npz', 'p096760.npz', 'p096767.npz', 'p096772.npz', 'p096785.npz', 'p096791.npz', 'p096825.npz', 'p096833.npz', 'p096920.npz', 'p096924.npz', 'p096930.npz', 'p096950.npz', 'p096977.npz', 'p097008.npz', 'p097028.npz', 'p097048.npz', 'p097061.npz', 'p097158.npz', 'p097243.npz', 'p097301.npz', 'p097307.npz', 'p097339.npz', 'p097380.npz', 'p097382.npz', 'p097422.npz', 'p097441.npz', 'p097488.npz', 'p097543.npz', 'p097547.npz', 'p097591.npz', 'p097599.npz', 'p097660.npz', 'p097664.npz', 'p097733.npz', 'p097801.npz', 'p097813.npz', 'p097828.npz', 'p097924.npz', 'p097932.npz', 'p098006.npz', 'p098169.npz', 'p098174.npz', 'p098185.npz', 'p098187.npz', 'p098206.npz', 'p098220.npz', 'p098226.npz', 'p098253.npz', 'p098276.npz', 'p098280.npz', 'p098347.npz', 'p098382.npz', 'p098385.npz', 'p098390.npz', 'p098434.npz', 'p098484.npz', 'p098514.npz', 'p098517.npz', 'p098564.npz', 'p098582.npz', 'p098593.npz', 'p098620.npz', 'p098647.npz', 'p098759.npz', 'p098829.npz', 'p098887.npz', 'p098930.npz', 'p098932.npz', 'p098944.npz', 'p098994.npz', 'p099004.npz', 'p099008.npz', 'p099038.npz', 'p099111.npz', 'p099255.npz', 'p099286.npz', 'p099366.npz', 'p099380.npz', 'p099383.npz', 'p099408.npz', 'p099412.npz', 'p099499.npz', 'p099544.npz', 'p099556.npz', 'p099599.npz', 'p099645.npz', 'p099659.npz', 'p099666.npz', 'p099669.npz', 'p099707.npz', 'p099776.npz', 'p099781.npz', 'p099785.npz', 'p099836.npz', 'p099863.npz', 'p099883.npz', 'p099894.npz', 'p099982.npz']\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# Set the path to the folder\n",
    "folder_path = r'C:\\Users\\nihal\\Desktop\\NIHAL_IMP_DOCS\\Internship_PPG\\processed_npz_files_VitalDB_Final'\n",
    "\n",
    "# List all files in the folder\n",
    "files = os.listdir(folder_path)\n",
    "print(files)\n",
    "\n",
    "# Filter for NPZ files\n",
    "npz_files = [f for f in files if f.endswith('.npz')]\n",
    "print(npz_files)\n",
    "\n",
    "# Load NPZ files and convert to DataFrames\n",
    "dataframes = []\n",
    "for file in npz_files:\n",
    "    file_path = os.path.join(folder_path, file)\n",
    "    with np.load(file_path) as npz_file:\n",
    "        for array_name in npz_file.files:\n",
    "            array_data = npz_file[array_name]\n",
    "            print(f\"Array name: {array_name}, Shape: {array_data.shape}\")\n",
    "            if array_data.ndim == 0:\n",
    "                # Ignore scalar (0D) arrays\n",
    "                print(f\"Ignored scalar array: {array_name}\")\n",
    "                continue\n",
    "            elif array_data.ndim == 1:\n",
    "                # Convert 1D array to DataFrame with a single column\n",
    "                df = pd.DataFrame(array_data, columns=[array_name])\n",
    "            elif array_data.ndim == 2:\n",
    "                # Directly convert 2D array to DataFrame\n",
    "                df = pd.DataFrame(array_data)\n",
    "            elif array_data.ndim == 3:\n",
    "                # Flatten the 3D array to 2D\n",
    "                flattened_array = array_data.reshape(array_data.shape[0], -1)\n",
    "                df = pd.DataFrame(flattened_array)\n",
    "            else:\n",
    "                # Ignore arrays with more than 3 dimensions or unknown dimensions\n",
    "                 print(f\"Ignored unsupported array dimension: {array_name} with shape {array_data.shape}\")\n",
    "                continue\n",
    "                \n",
    "            dataframes.append(df)\n",
    "\n",
    "# Optionally, concatenate all dataframes\n",
    "if dataframes:\n",
    "    combined_df = pd.concat(dataframes, ignore_index=True)\n",
    "    print(combined_df.head())\n",
    "else:\n",
    "    print(\"No DataFrames to concatenate.\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "f9522bc4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Collecting dask\n",
      "  Obtaining dependency information for dask from https://files.pythonhosted.org/packages/5f/83/1b4cc731fa8550a3041adf1c8e149a318dfee542d6f59a1940552e06df87/dask-2024.7.1-py3-none-any.whl.metadata\n",
      "  Downloading dask-2024.7.1-py3-none-any.whl.metadata (3.8 kB)\n",
      "Collecting click>=8.1 (from dask)\n",
      "  Obtaining dependency information for click>=8.1 from https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl.metadata\n",
      "  Downloading click-8.1.7-py3-none-any.whl.metadata (3.0 kB)\n",
      "Requirement already satisfied: cloudpickle>=1.5.0 in c:\\users\\nihal\\anaconda3\\envs\\tensorflow\\lib\\site-packages (from dask) (3.0.0)\n",
      "Requirement already satisfied: fsspec>=2021.09.0 in c:\\users\\nihal\\anaconda3\\envs\\tensorflow\\lib\\site-packages (from dask) (2024.3.1)\n",
      "Requirement already satisfied: packaging>=20.0 in c:\\users\\nihal\\anaconda3\\envs\\tensorflow\\lib\\site-packages (from dask) (23.1)\n",
      "Collecting partd>=1.4.0 (from dask)\n",
      "  Obtaining dependency information for partd>=1.4.0 from https://files.pythonhosted.org/packages/71/e7/40fb618334dcdf7c5a316c0e7343c5cd82d3d866edc100d98e29bc945ecd/partd-1.4.2-py3-none-any.whl.metadata\n",
      "  Downloading partd-1.4.2-py3-none-any.whl.metadata (4.6 kB)\n",
      "Requirement already satisfied: pyyaml>=5.3.1 in c:\\users\\nihal\\anaconda3\\envs\\tensorflow\\lib\\site-packages (from dask) (6.0.1)\n",
      "Collecting toolz>=0.10.0 (from dask)\n",
      "  Obtaining dependency information for toolz>=0.10.0 from https://files.pythonhosted.org/packages/b7/8a/d82202c9f89eab30f9fc05380daae87d617e2ad11571ab23d7c13a29bb54/toolz-0.12.1-py3-none-any.whl.metadata\n",
      "  Downloading toolz-0.12.1-py3-none-any.whl.metadata (5.1 kB)\n",
      "Collecting importlib-metadata>=4.13.0 (from dask)\n",
      "  Obtaining dependency information for importlib-metadata>=4.13.0 from https://files.pythonhosted.org/packages/82/47/bb25ec04985d0693da478797c3d8c1092b140f3a53ccb984fbbd38affa5b/importlib_metadata-8.2.0-py3-none-any.whl.metadata\n",
      "  Downloading importlib_metadata-8.2.0-py3-none-any.whl.metadata (4.7 kB)\n",
      "Requirement already satisfied: colorama in c:\\users\\nihal\\anaconda3\\envs\\tensorflow\\lib\\site-packages (from click>=8.1->dask) (0.4.6)\n",
      "Collecting zipp>=0.5 (from importlib-metadata>=4.13.0->dask)\n",
      "  Obtaining dependency information for zipp>=0.5 from https://files.pythonhosted.org/packages/20/38/f5c473fe9b90c8debdd29ea68d5add0289f1936d6f923b6b9cc0b931194c/zipp-3.19.2-py3-none-any.whl.metadata\n",
      "  Downloading zipp-3.19.2-py3-none-any.whl.metadata (3.6 kB)\n",
      "Collecting locket (from partd>=1.4.0->dask)\n",
      "  Obtaining dependency information for locket from https://files.pythonhosted.org/packages/db/bc/83e112abc66cd466c6b83f99118035867cecd41802f8d044638aa78a106e/locket-1.0.0-py2.py3-none-any.whl.metadata\n",
      "  Downloading locket-1.0.0-py2.py3-none-any.whl.metadata (2.8 kB)\n",
      "Downloading dask-2024.7.1-py3-none-any.whl (1.2 MB)\n",
      "   ---------------------------------------- 0.0/1.2 MB ? eta -:--:--\n",
      "    --------------------------------------- 0.0/1.2 MB 1.3 MB/s eta 0:00:01\n",
      "   --- ------------------------------------ 0.1/1.2 MB 1.3 MB/s eta 0:00:01\n",
      "   --------- ------------------------------ 0.3/1.2 MB 2.2 MB/s eta 0:00:01\n",
      "   ------------------ --------------------- 0.6/1.2 MB 3.3 MB/s eta 0:00:01\n",
      "   --------------------------------- ------ 1.0/1.2 MB 4.7 MB/s eta 0:00:01\n",
      "   ---------------------------------------- 1.2/1.2 MB 5.2 MB/s eta 0:00:00\n",
      "Downloading click-8.1.7-py3-none-any.whl (97 kB)\n",
      "   ---------------------------------------- 0.0/97.9 kB ? eta -:--:--\n",
      "   ---------------- ----------------------- 41.0/97.9 kB ? eta -:--:--\n",
      "   ---------------- ----------------------- 41.0/97.9 kB ? eta -:--:--\n",
      "   ---------------- ----------------------- 41.0/97.9 kB ? eta -:--:--\n",
      "   ---------------- ----------------------- 41.0/97.9 kB ? eta -:--:--\n",
      "   ---------------- ----------------------- 41.0/97.9 kB ? eta -:--:--\n",
      "   ---------------- ----------------------- 41.0/97.9 kB ? eta -:--:--\n",
      "   ---------------- ----------------------- 41.0/97.9 kB ? eta -:--:--\n",
      "   ---------------- ----------------------- 41.0/97.9 kB ? eta -:--:--\n",
      "   ------------------------- -------------- 61.4/97.9 kB 136.5 kB/s eta 0:00:01\n",
      "   --------------------------------- ------ 81.9/97.9 kB 169.9 kB/s eta 0:00:01\n",
      "   ---------------------------------------- 97.9/97.9 kB 181.2 kB/s eta 0:00:00\n",
      "Downloading importlib_metadata-8.2.0-py3-none-any.whl (25 kB)\n",
      "Downloading partd-1.4.2-py3-none-any.whl (18 kB)\n",
      "Downloading toolz-0.12.1-py3-none-any.whl (56 kB)\n",
      "   ---------------------------------------- 0.0/56.1 kB ? eta -:--:--\n",
      "   ---------------------------------------- 56.1/56.1 kB 2.9 MB/s eta 0:00:00\n",
      "Downloading zipp-3.19.2-py3-none-any.whl (9.0 kB)\n",
      "Downloading locket-1.0.0-py2.py3-none-any.whl (4.4 kB)\n",
      "Installing collected packages: zipp, toolz, locket, click, partd, importlib-metadata, dask\n",
      "  Attempting uninstall: click\n",
      "    Found existing installation: click 8.0.4\n",
      "    Uninstalling click-8.0.4:\n",
      "      Successfully uninstalled click-8.0.4\n",
      "Successfully installed click-8.1.7 dask-2024.7.1 importlib-metadata-8.2.0 locket-1.0.0 partd-1.4.2 toolz-0.12.1 zipp-3.19.2\n"
     ]
    }
   ],
   "source": [
    "!pip install dask"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "46403e1b",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n",
      "KeyboardInterrupt\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "import dask.dataframe as dd\n",
    "\n",
    "def load_npz_to_dask(file_path):\n",
    "    loaded_data = np.load(file_path)\n",
    "    dataframes = []\n",
    "    \n",
    "    # Handle 'ppg_f' array\n",
    "    if 'ppg_f' in loaded_data:\n",
    "        ppg_data = loaded_data['ppg_f']\n",
    "        if ppg_data.ndim == 3:\n",
    "            # Convert each 2D slice into a DataFrame\n",
    "            for i in range(ppg_data.shape[0]):\n",
    "                ppg_df = dd.from_array(ppg_data[i], columns=[f'ppg_f_{j}' for j in range(ppg_data.shape[2])])\n",
    "                dataframes.append(ppg_df)\n",
    "        else:\n",
    "            print(f\"Skipping 'ppg_f' with unexpected shape: {ppg_data.shape}\")\n",
    "\n",
    "    # Handle 'ecg_f' array\n",
    "    if 'ecg_f' in loaded_data:\n",
    "        ecg_data = loaded_data['ecg_f']\n",
    "        if ecg_data.ndim == 3:\n",
    "            # Convert each 2D slice into a DataFrame\n",
    "            for i in range(ecg_data.shape[0]):\n",
    "                ecg_df = dd.from_array(ecg_data[i], columns=[f'ecg_f_{j}' for j in range(ecg_data.shape[2])])\n",
    "                dataframes.append(ecg_df)\n",
    "        else:\n",
    "            print(f\"Skipping 'ecg_f' with unexpected shape: {ecg_data.shape}\")\n",
    "\n",
    "    # Handle 'seg_dbp' array\n",
    "    if 'seg_dbp' in loaded_data:\n",
    "        seg_dbp_data = loaded_data['seg_dbp']\n",
    "        if seg_dbp_data.ndim == 2:\n",
    "            seg_dbp_df = dd.from_array(seg_dbp_data)\n",
    "            dataframes.append(seg_dbp_df)\n",
    "        else:\n",
    "            print(f\"Skipping 'seg_dbp' with unexpected shape: {seg_dbp_data.shape}\")\n",
    "\n",
    "    # Handle 'seg_sbp' array\n",
    "    if 'seg_sbp' in loaded_data:\n",
    "        seg_sbp_data = loaded_data['seg_sbp']\n",
    "        if seg_sbp_data.ndim == 2:\n",
    "            seg_sbp_df = dd.from_array(seg_sbp_data)\n",
    "            dataframes.append(seg_sbp_df)\n",
    "        else:\n",
    "            print(f\"Skipping 'seg_sbp' with unexpected shape: {seg_sbp_data.shape}\")\n",
    "    \n",
    "    return dataframes\n",
    "\n",
    "def load_data_with_dask(folder_path):\n",
    "    files = [os.path.join(folder_path, file) for file in os.listdir(folder_path) if file.endswith('.npz')]\n",
    "    dfs = [load_npz_to_dask(file_path) for file_path in files]\n",
    "    dask_dfs = [df for sublist in dfs for df in sublist]\n",
    "    if dask_dfs:\n",
    "        combined_dask_df = dd.concat(dask_dfs, axis=1)\n",
    "        return combined_dask_df\n",
    "\n",
    "folder_path = r'C:\\Users\\nihal\\Desktop\\xyz'\n",
    "combined_dask_df = load_data_with_dask(folder_path)\n",
    "\n",
    "# Compute or perform further operations with the Dask DataFrame\n",
    "if combined_dask_df is not None:\n",
    "    print(combined_dask_df.head())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "133dbae0",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "bd4b44ee",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Files have been successfully split into train, validation, and test folders.\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import shutil\n",
    "import numpy as np\n",
    "\n",
    "# Paths\n",
    "source_dir = r'C:\\Users\\nihal\\Desktop\\NIHAL_IMP_DOCS\\Internship_PPG\\processed_npz_files_VitalDB_Final'\n",
    "train_dir = 'path_to_train_folder'\n",
    "val_dir = 'path_to_val_folder'\n",
    "test_dir = 'path_to_test_folder'\n",
    "\n",
    "# Create directories if they don't exist\n",
    "os.makedirs(train_dir, exist_ok=True)\n",
    "os.makedirs(val_dir, exist_ok=True)\n",
    "os.makedirs(test_dir, exist_ok=True)\n",
    "\n",
    "# Get list of all npz files\n",
    "npz_files = [f for f in os.listdir(source_dir) if f.endswith('.npz')]\n",
    "\n",
    "# Shuffle the list\n",
    "np.random.shuffle(npz_files)\n",
    "\n",
    "# Split the files\n",
    "train_split = int(0.7 * len(npz_files))\n",
    "val_split = int(0.85 * len(npz_files))\n",
    "\n",
    "train_files = npz_files[:train_split]\n",
    "val_files = npz_files[train_split:val_split]\n",
    "test_files = npz_files[val_split:]\n",
    "\n",
    "# Move files to their respective directories\n",
    "for f in train_files:\n",
    "    shutil.move(os.path.join(source_dir, f), os.path.join(train_dir, f))\n",
    "\n",
    "for f in val_files:\n",
    "    shutil.move(os.path.join(source_dir, f), os.path.join(val_dir, f))\n",
    "\n",
    "for f in test_files:\n",
    "    shutil.move(os.path.join(source_dir, f), os.path.join(test_dir, f))\n",
    "\n",
    "print(\"Files have been successfully split into train, validation, and test folders.\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "c1478457",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Deleting file p000168.npz due to specified shape\n",
      "File p000168.npz deleted successfully\n",
      "Deleting file p000541.npz due to specified shape\n",
      "File p000541.npz deleted successfully\n",
      "Deleting file p000554.npz due to specified shape\n",
      "File p000554.npz deleted successfully\n",
      "Deleting file p000884.npz due to specified shape\n",
      "File p000884.npz deleted successfully\n",
      "Deleting file p000991.npz due to specified shape\n",
      "File p000991.npz deleted successfully\n",
      "Deleting file p001049.npz due to specified shape\n",
      "File p001049.npz deleted successfully\n",
      "Deleting file p001546.npz due to specified shape\n",
      "File p001546.npz deleted successfully\n",
      "Deleting file p001892.npz due to specified shape\n",
      "File p001892.npz deleted successfully\n",
      "Deleting file p002362.npz due to specified shape\n",
      "File p002362.npz deleted successfully\n",
      "Deleting file p002460.npz due to specified shape\n",
      "File p002460.npz deleted successfully\n",
      "Deleting file p002877.npz due to specified shape\n",
      "File p002877.npz deleted successfully\n",
      "Deleting file p002923.npz due to specified shape\n",
      "File p002923.npz deleted successfully\n",
      "Deleting file p003004.npz due to specified shape\n",
      "File p003004.npz deleted successfully\n",
      "Deleting file p003965.npz due to specified shape\n",
      "File p003965.npz deleted successfully\n",
      "Deleting file p005151.npz due to specified shape\n",
      "File p005151.npz deleted successfully\n",
      "Deleting file p005933.npz due to specified shape\n",
      "File p005933.npz deleted successfully\n",
      "Deleting file p044788.npz due to specified shape\n",
      "File p044788.npz deleted successfully\n",
      "Deleting file p060783.npz due to specified shape\n",
      "File p060783.npz deleted successfully\n",
      "Deleting file p074727.npz due to specified shape\n",
      "File p074727.npz deleted successfully\n",
      "Deleting file p082258.npz due to specified shape\n",
      "File p082258.npz deleted successfully\n",
      "Deleting file p087325.npz due to specified shape\n",
      "File p087325.npz deleted successfully\n",
      "jkngnhgfh\n",
      "Deleting file p001806.npz due to specified shape\n",
      "File p001806.npz deleted successfully\n",
      "Deleting file p001819.npz due to specified shape\n",
      "File p001819.npz deleted successfully\n",
      "Deleting file p001852.npz due to specified shape\n",
      "File p001852.npz deleted successfully\n",
      "Deleting file p001938.npz due to specified shape\n",
      "File p001938.npz deleted successfully\n",
      "Deleting file p001946.npz due to specified shape\n",
      "File p001946.npz deleted successfully\n",
      "Deleting file p001969.npz due to specified shape\n",
      "File p001969.npz deleted successfully\n",
      "Deleting file p002220.npz due to specified shape\n",
      "File p002220.npz deleted successfully\n",
      "Deleting file p002244.npz due to specified shape\n",
      "File p002244.npz deleted successfully\n",
      "Deleting file p002263.npz due to specified shape\n",
      "File p002263.npz deleted successfully\n",
      "Deleting file p002277.npz due to specified shape\n",
      "File p002277.npz deleted successfully\n",
      "Deleting file p002373.npz due to specified shape\n",
      "File p002373.npz deleted successfully\n",
      "Deleting file p002462.npz due to specified shape\n",
      "File p002462.npz deleted successfully\n",
      "Deleting file p002470.npz due to specified shape\n",
      "File p002470.npz deleted successfully\n",
      "Deleting file p002476.npz due to specified shape\n",
      "File p002476.npz deleted successfully\n",
      "Deleting file p002618.npz due to specified shape\n",
      "File p002618.npz deleted successfully\n",
      "Deleting file p002790.npz due to specified shape\n",
      "File p002790.npz deleted successfully\n",
      "Deleting file p002810.npz due to specified shape\n",
      "File p002810.npz deleted successfully\n",
      "Deleting file p002827.npz due to specified shape\n",
      "File p002827.npz deleted successfully\n",
      "Deleting file p002850.npz due to specified shape\n",
      "File p002850.npz deleted successfully\n",
      "Deleting file p002856.npz due to specified shape\n",
      "File p002856.npz deleted successfully\n",
      "Deleting file p002899.npz due to specified shape\n",
      "File p002899.npz deleted successfully\n",
      "Deleting file p002928.npz due to specified shape\n",
      "File p002928.npz deleted successfully\n",
      "Deleting file p002940.npz due to specified shape\n",
      "File p002940.npz deleted successfully\n",
      "Deleting file p003005.npz due to specified shape\n",
      "File p003005.npz deleted successfully\n",
      "Deleting file p003011.npz due to specified shape\n",
      "File p003011.npz deleted successfully\n",
      "Deleting file p003068.npz due to specified shape\n",
      "File p003068.npz deleted successfully\n",
      "Deleting file p003087.npz due to specified shape\n",
      "File p003087.npz deleted successfully\n",
      "Deleting file p003471.npz due to specified shape\n",
      "File p003471.npz deleted successfully\n",
      "Deleting file p003510.npz due to specified shape\n",
      "File p003510.npz deleted successfully\n",
      "Deleting file p003600.npz due to specified shape\n",
      "File p003600.npz deleted successfully\n",
      "Deleting file p003710.npz due to specified shape\n",
      "File p003710.npz deleted successfully\n",
      "Deleting file p004041.npz due to specified shape\n",
      "File p004041.npz deleted successfully\n",
      "Deleting file p004117.npz due to specified shape\n",
      "File p004117.npz deleted successfully\n",
      "Deleting file p004126.npz due to specified shape\n",
      "File p004126.npz deleted successfully\n",
      "Deleting file p004131.npz due to specified shape\n",
      "File p004131.npz deleted successfully\n",
      "Deleting file p004301.npz due to specified shape\n",
      "File p004301.npz deleted successfully\n",
      "Deleting file p004409.npz due to specified shape\n",
      "File p004409.npz deleted successfully\n",
      "Deleting file p004471.npz due to specified shape\n",
      "File p004471.npz deleted successfully\n",
      "Deleting file p004507.npz due to specified shape\n",
      "File p004507.npz deleted successfully\n",
      "Deleting file p004583.npz due to specified shape\n",
      "File p004583.npz deleted successfully\n",
      "Deleting file p004728.npz due to specified shape\n",
      "File p004728.npz deleted successfully\n",
      "Deleting file p004967.npz due to specified shape\n",
      "File p004967.npz deleted successfully\n",
      "Deleting file p005021.npz due to specified shape\n",
      "File p005021.npz deleted successfully\n",
      "Deleting file p005032.npz due to specified shape\n",
      "File p005032.npz deleted successfully\n",
      "Deleting file p005218.npz due to specified shape\n",
      "File p005218.npz deleted successfully\n",
      "Deleting file p005367.npz due to specified shape\n",
      "File p005367.npz deleted successfully\n",
      "Deleting file p005397.npz due to specified shape\n",
      "File p005397.npz deleted successfully\n",
      "Deleting file p005622.npz due to specified shape\n",
      "File p005622.npz deleted successfully\n",
      "Deleting file p005732.npz due to specified shape\n",
      "File p005732.npz deleted successfully\n",
      "Deleting file p005733.npz due to specified shape\n",
      "File p005733.npz deleted successfully\n",
      "Deleting file p005758.npz due to specified shape\n",
      "File p005758.npz deleted successfully\n",
      "Deleting file p017757.npz due to specified shape\n",
      "File p017757.npz deleted successfully\n",
      "Deleting file p018753.npz due to specified shape\n",
      "File p018753.npz deleted successfully\n",
      "Deleting file p022140.npz due to specified shape\n",
      "File p022140.npz deleted successfully\n",
      "Deleting file p022316.npz due to specified shape\n",
      "File p022316.npz deleted successfully\n",
      "Deleting file p022769.npz due to specified shape\n",
      "File p022769.npz deleted successfully\n",
      "Deleting file p023613.npz due to specified shape\n",
      "File p023613.npz deleted successfully\n",
      "Deleting file p027446.npz due to specified shape\n",
      "File p027446.npz deleted successfully\n",
      "Deleting file p028625.npz due to specified shape\n",
      "File p028625.npz deleted successfully\n",
      "Deleting file p030864.npz due to specified shape\n",
      "File p030864.npz deleted successfully\n",
      "Deleting file p040967.npz due to specified shape\n",
      "File p040967.npz deleted successfully\n",
      "Deleting file p041803.npz due to specified shape\n",
      "File p041803.npz deleted successfully\n",
      "Deleting file p041976.npz due to specified shape\n",
      "File p041976.npz deleted successfully\n",
      "Deleting file p043150.npz due to specified shape\n",
      "File p043150.npz deleted successfully\n",
      "Deleting file p043563.npz due to specified shape\n",
      "File p043563.npz deleted successfully\n",
      "Deleting file p043911.npz due to specified shape\n",
      "File p043911.npz deleted successfully\n",
      "Deleting file p045774.npz due to specified shape\n",
      "File p045774.npz deleted successfully\n",
      "Deleting file p047137.npz due to specified shape\n",
      "File p047137.npz deleted successfully\n",
      "Deleting file p048826.npz due to specified shape\n",
      "File p048826.npz deleted successfully\n",
      "Deleting file p050336.npz due to specified shape\n",
      "File p050336.npz deleted successfully\n",
      "Deleting file p050827.npz due to specified shape\n",
      "File p050827.npz deleted successfully\n",
      "Deleting file p050863.npz due to specified shape\n",
      "File p050863.npz deleted successfully\n",
      "Deleting file p052011.npz due to specified shape\n",
      "File p052011.npz deleted successfully\n",
      "Deleting file p052547.npz due to specified shape\n",
      "File p052547.npz deleted successfully\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Deleting file p052641.npz due to specified shape\n",
      "File p052641.npz deleted successfully\n",
      "Deleting file p053252.npz due to specified shape\n",
      "File p053252.npz deleted successfully\n",
      "Deleting file p054110.npz due to specified shape\n",
      "File p054110.npz deleted successfully\n",
      "Deleting file p054541.npz due to specified shape\n",
      "File p054541.npz deleted successfully\n",
      "Deleting file p057321.npz due to specified shape\n",
      "File p057321.npz deleted successfully\n",
      "Deleting file p057568.npz due to specified shape\n",
      "File p057568.npz deleted successfully\n",
      "Deleting file p057968.npz due to specified shape\n",
      "File p057968.npz deleted successfully\n",
      "Deleting file p058792.npz due to specified shape\n",
      "File p058792.npz deleted successfully\n",
      "Deleting file p059845.npz due to specified shape\n",
      "File p059845.npz deleted successfully\n",
      "Deleting file p060961.npz due to specified shape\n",
      "File p060961.npz deleted successfully\n",
      "Deleting file p062160.npz due to specified shape\n",
      "File p062160.npz deleted successfully\n",
      "Deleting file p064101.npz due to specified shape\n",
      "File p064101.npz deleted successfully\n",
      "Deleting file p065484.npz due to specified shape\n",
      "File p065484.npz deleted successfully\n",
      "Deleting file p065793.npz due to specified shape\n",
      "File p065793.npz deleted successfully\n",
      "Deleting file p066061.npz due to specified shape\n",
      "File p066061.npz deleted successfully\n",
      "Deleting file p068949.npz due to specified shape\n",
      "File p068949.npz deleted successfully\n",
      "Deleting file p069027.npz due to specified shape\n",
      "File p069027.npz deleted successfully\n",
      "Deleting file p070807.npz due to specified shape\n",
      "File p070807.npz deleted successfully\n",
      "Deleting file p073087.npz due to specified shape\n",
      "File p073087.npz deleted successfully\n",
      "Deleting file p074640.npz due to specified shape\n",
      "File p074640.npz deleted successfully\n",
      "Deleting file p074866.npz due to specified shape\n",
      "File p074866.npz deleted successfully\n",
      "Deleting file p075350.npz due to specified shape\n",
      "File p075350.npz deleted successfully\n",
      "Deleting file p075998.npz due to specified shape\n",
      "File p075998.npz deleted successfully\n",
      "Deleting file p078424.npz due to specified shape\n",
      "File p078424.npz deleted successfully\n",
      "Deleting file p078474.npz due to specified shape\n",
      "File p078474.npz deleted successfully\n",
      "Deleting file p078988.npz due to specified shape\n",
      "File p078988.npz deleted successfully\n",
      "Deleting file p081050.npz due to specified shape\n",
      "File p081050.npz deleted successfully\n",
      "Deleting file p081491.npz due to specified shape\n",
      "File p081491.npz deleted successfully\n",
      "Deleting file p081846.npz due to specified shape\n",
      "File p081846.npz deleted successfully\n",
      "Deleting file p083206.npz due to specified shape\n",
      "File p083206.npz deleted successfully\n",
      "Deleting file p084802.npz due to specified shape\n",
      "File p084802.npz deleted successfully\n",
      "Deleting file p085493.npz due to specified shape\n",
      "File p085493.npz deleted successfully\n",
      "Deleting file p090466.npz due to specified shape\n",
      "File p090466.npz deleted successfully\n",
      "Deleting file p093898.npz due to specified shape\n",
      "File p093898.npz deleted successfully\n",
      "Deleting file p096057.npz due to specified shape\n",
      "File p096057.npz deleted successfully\n",
      "Deleting file p097828.npz due to specified shape\n",
      "File p097828.npz deleted successfully\n",
      "Deleting file p098434.npz due to specified shape\n",
      "File p098434.npz deleted successfully\n",
      "Deleting file p098517.npz due to specified shape\n",
      "File p098517.npz deleted successfully\n",
      "jgngfjdfkjjhgddfgjv\n",
      "Deleting file p000366.npz due to specified shape\n",
      "File p000366.npz deleted successfully\n",
      "Deleting file p000839.npz due to specified shape\n",
      "File p000839.npz deleted successfully\n",
      "Deleting file p000988.npz due to specified shape\n",
      "File p000988.npz deleted successfully\n",
      "Deleting file p001871.npz due to specified shape\n",
      "File p001871.npz deleted successfully\n",
      "Deleting file p002374.npz due to specified shape\n",
      "File p002374.npz deleted successfully\n",
      "Deleting file p004137.npz due to specified shape\n",
      "File p004137.npz deleted successfully\n",
      "Deleting file p004866.npz due to specified shape\n",
      "File p004866.npz deleted successfully\n",
      "Deleting file p005057.npz due to specified shape\n",
      "File p005057.npz deleted successfully\n",
      "Deleting file p005356.npz due to specified shape\n",
      "File p005356.npz deleted successfully\n",
      "Deleting file p007966.npz due to specified shape\n",
      "File p007966.npz deleted successfully\n",
      "Deleting file p031267.npz due to specified shape\n",
      "File p031267.npz deleted successfully\n",
      "Error processing file p032082.npz: File is not a zip file\n",
      "Deleting file p040083.npz due to specified shape\n",
      "File p040083.npz deleted successfully\n",
      "Deleting file p050161.npz due to specified shape\n",
      "File p050161.npz deleted successfully\n",
      "Deleting file p051072.npz due to specified shape\n",
      "File p051072.npz deleted successfully\n",
      "Deleting file p052146.npz due to specified shape\n",
      "File p052146.npz deleted successfully\n",
      "Deleting file p052696.npz due to specified shape\n",
      "File p052696.npz deleted successfully\n",
      "Deleting file p056076.npz due to specified shape\n",
      "File p056076.npz deleted successfully\n",
      "Deleting file p063934.npz due to specified shape\n",
      "File p063934.npz deleted successfully\n",
      "Deleting file p064287.npz due to specified shape\n",
      "File p064287.npz deleted successfully\n",
      "Deleting file p086719.npz due to specified shape\n",
      "File p086719.npz deleted successfully\n",
      "Deleting file p087962.npz due to specified shape\n",
      "File p087962.npz deleted successfully\n",
      "Deleting file p090020.npz due to specified shape\n",
      "File p090020.npz deleted successfully\n",
      "Deleting file p097061.npz due to specified shape\n",
      "File p097061.npz deleted successfully\n",
      "Deleting file p099004.npz due to specified shape\n",
      "File p099004.npz deleted successfully\n",
      "Files with the specified shapes have been processed.\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "\n",
    "def check_and_delete_files(folder):\n",
    "    for file in os.listdir(folder):\n",
    "        if file.endswith('.npz'):\n",
    "            file_path = os.path.join(folder, file)\n",
    "            try:\n",
    "                # Attempt to load the .npz file\n",
    "                with np.load(file_path) as data:\n",
    "                    ppg_shape = data['ppg_f'].shape\n",
    "                    ecg_shape = data['ecg_f'].shape\n",
    "                    sbp_shape = data['seg_sbp'].shape\n",
    "                    dbp_shape = data['seg_dbp'].shape\n",
    "\n",
    "                # Check if the shapes match the specified shapes\n",
    "                if ppg_shape == (1250,) and ecg_shape == (1250,) and sbp_shape == () and dbp_shape == ():\n",
    "                    print(f\"Deleting file {file} due to specified shape\")\n",
    "                    try:\n",
    "                        os.remove(file_path)\n",
    "                        print(f\"File {file} deleted successfully\")\n",
    "                    except Exception as e:\n",
    "                        print(f\"Error deleting file {file}: {e}\")\n",
    "            except Exception as e:\n",
    "                # Handle any errors that occur\n",
    "                print(f\"Error processing file {file}: {e}\")\n",
    "\n",
    "# Paths\n",
    "train_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Train_data'\n",
    "val_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Validation_data'\n",
    "test_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Test_data'\n",
    "\n",
    "# Check and delete files with specified shapes\n",
    "\n",
    "check_and_delete_files(val_dir)\n",
    "print(\"jkngnhgfh\")\n",
    "check_and_delete_files(train_dir)\n",
    "print(\"jgngfjdfkjjhgddfgjv\")\n",
    "check_and_delete_files(test_dir)\n",
    "\n",
    "print(\"Files with the specified shapes have been processed.\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "b69c44d0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Read-only attributes removed.\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import stat\n",
    "\n",
    "def remove_readonly(folder):\n",
    "    for root, dirs, files in os.walk(folder):\n",
    "        for name in dirs:\n",
    "            dir_path = os.path.join(root, name)\n",
    "            try:\n",
    "                os.chmod(dir_path, stat.S_IWRITE)\n",
    "            except Exception as e:\n",
    "                print(f\"Error changing permissions for directory {dir_path}: {e}\")\n",
    "        for name in files:\n",
    "            file_path = os.path.join(root, name)\n",
    "            try:\n",
    "                os.chmod(file_path, stat.S_IWRITE)\n",
    "            except Exception as e:\n",
    "                print(f\"Error changing permissions for file {file_path}: {e}\")\n",
    "\n",
    "# Paths\n",
    "train_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Train_data'\n",
    "val_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Val_data'\n",
    "test_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Test_data'\n",
    "\n",
    "# Remove read-only attribute\n",
    "remove_readonly(train_dir)\n",
    "remove_readonly(val_dir)\n",
    "remove_readonly(test_dir)\n",
    "\n",
    "print(\"Read-only attributes removed.\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "72dfa037",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Error loading file C:\\Users\\nihal\\Desktop\\NIHAL_IMP_DOCS\\Internship_PPG\\Test_data\\p032082.npz: File is not a zip file\n",
      "Loaded 3623 training files\n",
      "Loaded 783 validation files\n",
      "Loaded 780 test files\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import os\n",
    "\n",
    "def load_npz_files_to_list(folder):\n",
    "    data_list = []\n",
    "    for file in os.listdir(folder):\n",
    "        if file.endswith('.npz'):\n",
    "            file_path = os.path.join(folder, file)\n",
    "            try:\n",
    "                # Load the .npz file and append its content to the list\n",
    "                with np.load(file_path) as data:\n",
    "                    data_list.append(data)\n",
    "            except Exception as e:\n",
    "                print(f\"Error loading file {file_path}: {e}\")\n",
    "    return data_list\n",
    "\n",
    "# Paths\n",
    "train_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Train_data'\n",
    "val_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Validation_data'\n",
    "test_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Test_data'\n",
    "\n",
    "# Load data\n",
    "train_data = load_npz_files_to_list(train_dir)\n",
    "val_data = load_npz_files_to_list(val_dir)\n",
    "test_data = load_npz_files_to_list(test_dir)\n",
    "\n",
    "print(f\"Loaded {len(train_data)} training files\")\n",
    "print(f\"Loaded {len(val_data)} validation files\")\n",
    "print(f\"Loaded {len(test_data)} test files\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "8a28a302",
   "metadata": {},
   "outputs": [],
   "source": [
    "def inspect_npz_data(data_list):\n",
    "    for i, data in enumerate(data_list):\n",
    "        print(f\"File {i}:\")\n",
    "        for key in data:\n",
    "            print(f\"  Key: {key}, Shape: {data[key].shape}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "7ab91393",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Data from file 0:\n"
     ]
    },
    {
     "ename": "AttributeError",
     "evalue": "'NoneType' object has no attribute 'open'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[19], line 3\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, data \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(train_data):\n\u001b[0;32m      2\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mData from file \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m:\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m----> 3\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mppg_f\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m:\n\u001b[0;32m      4\u001b[0m         \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m  ppg_f shape: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mdata[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mppg_f\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m      5\u001b[0m     \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mecg_f\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;129;01min\u001b[39;00m data:\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\_collections_abc.py:830\u001b[0m, in \u001b[0;36mMapping.__contains__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m    828\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__contains__\u001b[39m(\u001b[38;5;28mself\u001b[39m, key):\n\u001b[0;32m    829\u001b[0m     \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 830\u001b[0m         \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m[\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m]\u001b[49m\n\u001b[0;32m    831\u001b[0m     \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m:\n\u001b[0;32m    832\u001b[0m         \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mFalse\u001b[39;00m\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\numpy\\lib\\npyio.py:248\u001b[0m, in \u001b[0;36mNpzFile.__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m    246\u001b[0m     key \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m.npy\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m    247\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m member:\n\u001b[1;32m--> 248\u001b[0m     \u001b[38;5;28mbytes\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mzip\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen\u001b[49m(key)\n\u001b[0;32m    249\u001b[0m     magic \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mbytes\u001b[39m\u001b[38;5;241m.\u001b[39mread(\u001b[38;5;28mlen\u001b[39m(\u001b[38;5;28mformat\u001b[39m\u001b[38;5;241m.\u001b[39mMAGIC_PREFIX))\n\u001b[0;32m    250\u001b[0m     \u001b[38;5;28mbytes\u001b[39m\u001b[38;5;241m.\u001b[39mclose()\n",
      "\u001b[1;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'open'"
     ]
    }
   ],
   "source": [
    "for i, data in enumerate(train_data):\n",
    "    print(f\"Data from file {i}:\")\n",
    "    if 'ppg_f' in data:\n",
    "        print(f\"  ppg_f shape: {data['ppg_f'].shape}\")\n",
    "    if 'ecg_f' in data:\n",
    "        print(f\"  ecg_f shape: {data['ecg_f'].shape}\")\n",
    "    if 'seg_sbp' in data:\n",
    "        print(f\"  seg_sbp shape: {data['seg_sbp'].shape}\")\n",
    "    if 'seg_dbp' in data:\n",
    "        print(f\"  seg_dbp shape: {data['seg_dbp'].shape}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "6c3bc852",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Key: ppg_f, Shape: (1353, 1, 1250)\n",
      "Key: ecg_f, Shape: (1353, 1, 1250)\n",
      "Key: seg_dbp, Shape: (1353, 1)\n",
      "Key: seg_sbp, Shape: (1353, 1)\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "# Example file path\n",
    "file_path = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Train_data\\\\p000012.npz'\n",
    "\n",
    "# Try to open and inspect one file\n",
    "try:\n",
    "    with np.load(file_path) as data:\n",
    "        for key in data:\n",
    "            print(f\"Key: {key}, Shape: {data[key].shape}\")\n",
    "except Exception as e:\n",
    "    print(f\"Error loading file {file_path}: {e}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e23961c9",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import os\n",
    "\n",
    "def load_npz_files(folder):\n",
    "    ppg_list = []\n",
    "    ecg_list = []\n",
    "    sbp_list = []\n",
    "    dbp_list = []\n",
    "\n",
    "    for file in os.listdir(folder):\n",
    "        if file.endswith('.npz'):\n",
    "            file_path = os.path.join(folder, file)\n",
    "            try:\n",
    "                with np.load(file_path) as data:\n",
    "                    if 'ppg_f' in data:\n",
    "                        ppg_list.append(data['ppg_f'])\n",
    "                    if 'ecg_f' in data:\n",
    "                        ecg_list.append(data['ecg_f'])\n",
    "                    if 'seg_sbp' in data:\n",
    "                        sbp_list.append(data['seg_sbp'])\n",
    "                    if 'seg_dbp' in data:\n",
    "                        dbp_list.append(data['seg_dbp'])\n",
    "            except Exception as e:\n",
    "                print(f\"Error loading file {file_path}: {e}\")\n",
    "\n",
    "    return ppg_list, ecg_list, sbp_list, dbp_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a151581b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loaded 783 validation ppg files\n",
      "Loaded 783 validation ecg files\n",
      "Loaded 783 validation sbp files\n",
      "Loaded 783 validation dbp files\n"
     ]
    }
   ],
   "source": [
    "train_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Train_data'\n",
    "val_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Validation_data'\n",
    "test_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Test_data'\n",
    "\n",
    "train_ppg, train_ecg, train_sbp, train_dbp = load_npz_files(train_dir)\n",
    "val_ppg, val_ecg, val_sbp, val_dbp = load_npz_files(val_dir)\n",
    "test_ppg, test_ecg, test_sbp, test_dbp = load_npz_files(test_dir)\n",
    "\n",
    "\n",
    "print(f\"Loaded {len(train_ppg)} training ppg files\")\n",
    "print(f\"Loaded {len(train_ecg)} training ecg files\")\n",
    "print(f\"Loaded {len(train_sbp)} training sbp files\")\n",
    "print(f\"Loaded {len(train_dbp)} training dbp files\")\n",
    "\n",
    "print(f\"Loaded {len(val_ppg)} validation ppg files\")\n",
    "print(f\"Loaded {len(val_ecg)} validation ecg files\")\n",
    "print(f\"Loaded {len(val_sbp)} validation sbp files\")\n",
    "print(f\"Loaded {len(val_dbp)} validation dbp files\")\n",
    "\n",
    "print(f\"Loaded {len(test_ppg)} test ppg files\")\n",
    "print(f\"Loaded {len(test_ecg)} test ecg files\")\n",
    "print(f\"Loaded {len(test_sbp)} test sbp files\")\n",
    "print(f\"Loaded {len(test_dbp)} test dbp files\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "253947dc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(9, 1, 1250)"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "val_ppg[2].shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ca720261",
   "metadata": {},
   "outputs": [],
   "source": [
    "test_ppg, test_ecg, test_sbp, test_dbp = load_npz_files(test_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "5709ed28",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import os\n",
    "import gc\n",
    "\n",
    "def process_files_in_batch(file_paths):\n",
    "    ppg_list = []\n",
    "    ecg_list = []\n",
    "    sbp_list = []\n",
    "    dbp_list = []\n",
    "\n",
    "    for file_path in file_paths:\n",
    "        try:\n",
    "            with np.load(file_path) as data:\n",
    "                # Append data based on keys\n",
    "                if 'ppg_f' in data:\n",
    "                    ppg_list.append(data['ppg_f'])\n",
    "                if 'ecg_f' in data:\n",
    "                    ecg_list.append(data['ecg_f'])\n",
    "                if 'seg_sbp' in data:\n",
    "                    sbp_list.append(data['seg_sbp'])\n",
    "                if 'seg_dbp' in data:\n",
    "                    dbp_list.append(data['seg_dbp'])\n",
    "        except Exception as e:\n",
    "            print(f\"Error loading file {file_path}: {e}\")\n",
    "    \n",
    "    return ppg_list, ecg_list, sbp_list, dbp_list\n",
    "\n",
    "def load_npz_files_in_batches(folder, batch_size=100):\n",
    "    all_files = [os.path.join(folder, file) for file in os.listdir(folder) if file.endswith('.npz')]\n",
    "    ppg_list, ecg_list, sbp_list, dbp_list = [], [], [], []\n",
    "\n",
    "    for i in range(0, len(all_files), batch_size):\n",
    "        batch_files = all_files[i:i + batch_size]\n",
    "        ppg, ecg, sbp, dbp = process_files_in_batch(batch_files)\n",
    "        ppg_list.extend(ppg)\n",
    "        ecg_list.extend(ecg)\n",
    "        sbp_list.extend(sbp)\n",
    "        dbp_list.extend(dbp)\n",
    "        \n",
    "        del ppg, ecg, sbp, dbp\n",
    "        gc.collect()\n",
    "        \n",
    "        print(f\"Processed batch {i // batch_size + 1} of {len(all_files) // batch_size + 1}\")\n",
    "    \n",
    "    return ppg_list, ecg_list, sbp_list, dbp_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "4830bc87",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Paths\n",
    "train_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Train_data'\n",
    "val_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Validation_data'\n",
    "test_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Test_data'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9417dce3",
   "metadata": {},
   "outputs": [],
   "source": [
    "train_ppg, train_ecg, train_sbp, train_dbp = load_npz_files_in_batches(train_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "028bb257",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processed batch 1 of 8\n",
      "Processed batch 2 of 8\n",
      "Processed batch 3 of 8\n",
      "Processed batch 4 of 8\n",
      "Processed batch 5 of 8\n",
      "Processed batch 6 of 8\n",
      "Processed batch 7 of 8\n",
      "Processed batch 8 of 8\n"
     ]
    }
   ],
   "source": [
    "val_ppg, val_ecg, val_sbp, val_dbp = load_npz_files_in_batches(val_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e1d4acf2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processed batch 1 of 8\n",
      "Processed batch 2 of 8\n",
      "Processed batch 3 of 8\n"
     ]
    }
   ],
   "source": [
    "test_ppg, test_ecg, test_sbp, test_dbp = load_npz_files_in_batches(test_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a00cef4d",
   "metadata": {},
   "outputs": [],
   "source": [
    "print(f\"Loaded {len(train_ppg)} training ppg files\")\n",
    "print(f\"Loaded {len(train_ecg)} training ecg files\")\n",
    "print(f\"Loaded {len(train_sbp)} training sbp files\")\n",
    "print(f\"Loaded {len(train_dbp)} training dbp files\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "518591ab",
   "metadata": {},
   "outputs": [],
   "source": [
    "print(f\"Loaded {len(val_ppg)} validation ppg files\")\n",
    "print(f\"Loaded {len(val_ecg)} validation ecg files\")\n",
    "print(f\"Loaded {len(val_sbp)} validation sbp files\")\n",
    "print(f\"Loaded {len(val_dbp)} validation dbp files\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f6bb369b",
   "metadata": {},
   "outputs": [],
   "source": [
    "print(f\"Loaded {len(test_ppg)} test ppg files\")\n",
    "print(f\"Loaded {len(test_ecg)} test ecg files\")\n",
    "print(f\"Loaded {len(test_sbp)} test sbp files\")\n",
    "print(f\"Loaded {len(test_dbp)} test dbp files\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9c0822f3",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "a1a80875",
   "metadata": {},
   "source": [
    "# VG GENERATION"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "954695f6",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import os\n",
    "\n",
    "def load_and_validate_data(file_path):\n",
    "    \"\"\"\n",
    "    Load data from a file and return it.\n",
    "    Return None if data is missing.\n",
    "    \"\"\"\n",
    "    try:\n",
    "        loaded_data = np.load(file_path)\n",
    "        \n",
    "        ppg_f = loaded_data.get('ppg_f')\n",
    "        ecg_f = loaded_data.get('ecg_f')\n",
    "        seg_dbp = loaded_data.get('seg_dbp')\n",
    "        seg_sbp = loaded_data.get('seg_sbp')\n",
    "        \n",
    "        if ppg_f is None or ecg_f is None or seg_dbp is None or seg_sbp is None:\n",
    "            return None\n",
    "\n",
    "        return ppg_f, ecg_f, seg_dbp, seg_sbp\n",
    "    \n",
    "    except Exception as e:\n",
    "        print(f\"Error loading {file_path}: {e}\")\n",
    "        return None\n",
    "\n",
    "def combine_data_from_folder(folder_path, batch_size=100):\n",
    "    \"\"\"\n",
    "    Combine data from all valid files in the folder in batches.\n",
    "    \"\"\"\n",
    "    combined_ppg = []\n",
    "    combined_ecg = []\n",
    "    combined_seg_dbp = []\n",
    "    combined_seg_sbp = []\n",
    "\n",
    "    for file_name in os.listdir(folder_path):\n",
    "        file_path = os.path.join(folder_path, file_name)\n",
    "        \n",
    "        if not file_path.endswith('.npz'):\n",
    "            continue\n",
    "        \n",
    "        data = load_and_validate_data(file_path)\n",
    "        \n",
    "        if data is None:\n",
    "            print(f\"Skipping invalid file: {file_path}\")\n",
    "            continue\n",
    "        \n",
    "        ppg_f, ecg_f, seg_dbp, seg_sbp = data\n",
    "        \n",
    "        combined_ppg.append(ppg_f)\n",
    "        combined_ecg.append(ecg_f)\n",
    "        combined_seg_dbp.append(seg_dbp)\n",
    "        combined_seg_sbp.append(seg_sbp)\n",
    "        \n",
    "        if len(combined_ppg) >= batch_size:\n",
    "            combined_ppg = np.concatenate(combined_ppg, axis=0)\n",
    "            combined_ecg = np.concatenate(combined_ecg, axis=0)\n",
    "            combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "            combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "            \n",
    "            yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp\n",
    "            \n",
    "            combined_ppg = []\n",
    "            combined_ecg = []\n",
    "            combined_seg_dbp = []\n",
    "            combined_seg_sbp = []\n",
    "            \n",
    "\n",
    "    if combined_ppg:\n",
    "        combined_ppg = np.concatenate(combined_ppg, axis=0)\n",
    "    else:\n",
    "        combined_ppg = np.array([])\n",
    "        \n",
    "    if combined_ecg:\n",
    "        combined_ecg = np.concatenate(combined_ecg, axis=0)\n",
    "    else:\n",
    "        combined_ecg = np.array([])\n",
    "        \n",
    "    if combined_seg_dbp:\n",
    "        combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_dbp = np.array([])\n",
    "        \n",
    "    if combined_seg_sbp:\n",
    "        combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_sbp = np.array([])\n",
    "\n",
    "    yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp\n",
    "train_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Train_data'\n",
    "val_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Validation_data'\n",
    "test_dir = 'C:\\\\Users\\\\nihal\\\\Desktop\\\\NIHAL_IMP_DOCS\\\\Internship_PPG\\\\Test_data'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "7badde52",
   "metadata": {},
   "outputs": [],
   "source": [
    "train_data_generator = combine_data_from_folder(train_dir, batch_size=100)\n",
    "val_data_generator = combine_data_from_folder(val_dir, batch_size=100)\n",
    "test_data_generator = combine_data_from_folder(test_dir, batch_size=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "b6fba16b",
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import os\n",
    "import networkx as nx\n",
    "from scipy.ndimage import zoom\n",
    "\n",
    "# Directories for saving VG images\n",
    "output_dirs = {\n",
    "    'train': 'vg_images/train',\n",
    "    'validation': 'vg_images/validation',\n",
    "    'test': 'vg_images/test'\n",
    "}\n",
    "\n",
    "# Ensure the output directories exist\n",
    "for dir_path in output_dirs.values():\n",
    "    os.makedirs(dir_path, exist_ok=True)\n",
    "\n",
    "def create_visibility_graph(ppg_signal):\n",
    "    n = len(ppg_signal)\n",
    "    G = nx.Graph()\n",
    "    G.add_nodes_from(range(n))\n",
    "\n",
    "    for i in range(n):\n",
    "        for j in range(i + 1, n):\n",
    "            visible = True\n",
    "            for k in range(i + 1, j):\n",
    "                if ppg_signal[k] >= ppg_signal[i] + (ppg_signal[j] - ppg_signal[i]) * (k - i) / (j - i):\n",
    "                    visible = False\n",
    "                    break\n",
    "            if visible:\n",
    "                G.add_edge(i, j)\n",
    "                \n",
    "    return G\n",
    "\n",
    "def graph_to_adjacency_matrix_image(G, size):\n",
    "    adj_matrix = nx.to_numpy_array(G)\n",
    "    adj_matrix_resized = zoom(adj_matrix, (size[0] / adj_matrix.shape[0], size[1] / adj_matrix.shape[1]), order=0)\n",
    "    return adj_matrix_resized\n",
    "\n",
    "def generate_vg_image(ppg_signal, size):\n",
    "    G = create_visibility_graph(ppg_signal)\n",
    "    vg_image = graph_to_adjacency_matrix_image(G, size)\n",
    "    return vg_image\n",
    "\n",
    "def invert_images(vg_images):\n",
    "    # Invert pixel values (assuming images are in [0, 255] range)\n",
    "    inverted_images = [255 - image for image in vg_images]\n",
    "    return inverted_images"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "e2baf252",
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_directory(data_generator, output_dir, image_size, save_interval=500):\n",
    "    # Ensure the output directory exists\n",
    "    os.makedirs(output_dir, exist_ok=True)\n",
    "\n",
    "    batch_number = 1\n",
    "    vg_images = []\n",
    "    inverted_vg_images = []\n",
    "\n",
    "    for batch_idx, (combined_ppg_batch, combined_ecg_batch, combined_seg_dbp_batch, combined_seg_sbp_batch) in enumerate(data_generator):\n",
    "        print(f\"Processing Batch {batch_idx + 1}...\")\n",
    "\n",
    "        for i in range(len(combined_ppg_batch)):\n",
    "            print(f\"Generating VG image for PPG signal {i + 1}/{len(combined_ppg_batch)}\")\n",
    "            \n",
    "            ppg_signal = combined_ppg_batch[i].flatten()\n",
    "            \n",
    "            # Generate the VG image for the PPG signal\n",
    "            vg_image = generate_vg_image(ppg_signal, image_size)\n",
    "            vg_images.append(vg_image.flatten())\n",
    "            \n",
    "            # Generate the inverted VG image\n",
    "            inverted_vg_image = invert_images([vg_image])[0]\n",
    "            inverted_vg_images.append(inverted_vg_image.flatten())\n",
    "            \n",
    "            # Save periodically to avoid high memory usage\n",
    "            if len(vg_images) >= save_interval:\n",
    "                np.save(os.path.join(output_dir, f'vg_images_batch_{batch_number}.npy'), vg_images)\n",
    "                np.save(os.path.join(output_dir, f'inverted_vg_images_batch_{batch_number}.npy'), inverted_vg_images)\n",
    "                \n",
    "                # Reset lists and increment batch number\n",
    "                vg_images = []\n",
    "                inverted_vg_images = []\n",
    "                batch_number += 1\n",
    "\n",
    "        # Save any remaining images after processing the batch\n",
    "        if vg_images:\n",
    "            np.save(os.path.join(output_dir, f'vg_images_batch_{batch_number}.npy'), vg_images)\n",
    "            np.save(os.path.join(output_dir, f'inverted_vg_images_batch_{batch_number}.npy'), inverted_vg_images)\n",
    "\n",
    "        print(f\"Batch {batch_idx + 1} processing complete.\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6280558a",
   "metadata": {},
   "outputs": [],
   "source": [
    "process_directory(train_data_generator, output_dirs['train'], image_size=(224, 224))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "17806c3d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Processing Batch 1...\n",
      "Generating VG image for PPG signal 1/52111\n",
      "Generating VG image for PPG signal 2/52111\n",
      "Generating VG image for PPG signal 3/52111\n",
      "Generating VG image for PPG signal 4/52111\n",
      "Generating VG image for PPG signal 5/52111\n",
      "Generating VG image for PPG signal 6/52111\n",
      "Generating VG image for PPG signal 7/52111\n",
      "Generating VG image for PPG signal 8/52111\n",
      "Generating VG image for PPG signal 9/52111\n",
      "Generating VG image for PPG signal 10/52111\n",
      "Generating VG image for PPG signal 11/52111\n",
      "Generating VG image for PPG signal 12/52111\n",
      "Generating VG image for PPG signal 13/52111\n",
      "Generating VG image for PPG signal 14/52111\n",
      "Generating VG image for PPG signal 15/52111\n",
      "Generating VG image for PPG signal 16/52111\n",
      "Generating VG image for PPG signal 17/52111\n",
      "Generating VG image for PPG signal 18/52111\n",
      "Generating VG image for PPG signal 19/52111\n",
      "Generating VG image for PPG signal 20/52111\n",
      "Generating VG image for PPG signal 21/52111\n",
      "Generating VG image for PPG signal 22/52111\n",
      "Generating VG image for PPG signal 23/52111\n",
      "Generating VG image for PPG signal 24/52111\n",
      "Generating VG image for PPG signal 25/52111\n",
      "Generating VG image for PPG signal 26/52111\n",
      "Generating VG image for PPG signal 27/52111\n",
      "Generating VG image for PPG signal 28/52111\n",
      "Generating VG image for PPG signal 29/52111\n",
      "Generating VG image for PPG signal 30/52111\n",
      "Generating VG image for PPG signal 31/52111\n",
      "Generating VG image for PPG signal 32/52111\n",
      "Generating VG image for PPG signal 33/52111\n",
      "Generating VG image for PPG signal 34/52111\n",
      "Generating VG image for PPG signal 35/52111\n",
      "Generating VG image for PPG signal 36/52111\n",
      "Generating VG image for PPG signal 37/52111\n",
      "Generating VG image for PPG signal 38/52111\n",
      "Generating VG image for PPG signal 39/52111\n",
      "Generating VG image for PPG signal 40/52111\n",
      "Generating VG image for PPG signal 41/52111\n",
      "Generating VG image for PPG signal 42/52111\n",
      "Generating VG image for PPG signal 43/52111\n",
      "Generating VG image for PPG signal 44/52111\n",
      "Generating VG image for PPG signal 45/52111\n",
      "Generating VG image for PPG signal 46/52111\n",
      "Generating VG image for PPG signal 47/52111\n",
      "Generating VG image for PPG signal 48/52111\n",
      "Generating VG image for PPG signal 49/52111\n",
      "Generating VG image for PPG signal 50/52111\n",
      "Generating VG image for PPG signal 51/52111\n",
      "Generating VG image for PPG signal 52/52111\n",
      "Generating VG image for PPG signal 53/52111\n",
      "Generating VG image for PPG signal 54/52111\n",
      "Generating VG image for PPG signal 55/52111\n",
      "Generating VG image for PPG signal 56/52111\n",
      "Generating VG image for PPG signal 57/52111\n",
      "Generating VG image for PPG signal 58/52111\n",
      "Generating VG image for PPG signal 59/52111\n",
      "Generating VG image for PPG signal 60/52111\n",
      "Generating VG image for PPG signal 61/52111\n",
      "Generating VG image for PPG signal 62/52111\n",
      "Generating VG image for PPG signal 63/52111\n",
      "Generating VG image for PPG signal 64/52111\n",
      "Generating VG image for PPG signal 65/52111\n",
      "Generating VG image for PPG signal 66/52111\n",
      "Generating VG image for PPG signal 67/52111\n",
      "Generating VG image for PPG signal 68/52111\n",
      "Generating VG image for PPG signal 69/52111\n",
      "Generating VG image for PPG signal 70/52111\n",
      "Generating VG image for PPG signal 71/52111\n",
      "Generating VG image for PPG signal 72/52111\n",
      "Generating VG image for PPG signal 73/52111\n",
      "Generating VG image for PPG signal 74/52111\n",
      "Generating VG image for PPG signal 75/52111\n",
      "Generating VG image for PPG signal 76/52111\n",
      "Generating VG image for PPG signal 77/52111\n",
      "Generating VG image for PPG signal 78/52111\n",
      "Generating VG image for PPG signal 79/52111\n",
      "Generating VG image for PPG signal 80/52111\n",
      "Generating VG image for PPG signal 81/52111\n",
      "Generating VG image for PPG signal 82/52111\n",
      "Generating VG image for PPG signal 83/52111\n",
      "Generating VG image for PPG signal 84/52111\n",
      "Generating VG image for PPG signal 85/52111\n",
      "Generating VG image for PPG signal 86/52111\n",
      "Generating VG image for PPG signal 87/52111\n",
      "Generating VG image for PPG signal 88/52111\n",
      "Generating VG image for PPG signal 89/52111\n",
      "Generating VG image for PPG signal 90/52111\n",
      "Generating VG image for PPG signal 91/52111\n",
      "Generating VG image for PPG signal 92/52111\n",
      "Generating VG image for PPG signal 93/52111\n",
      "Generating VG image for PPG signal 94/52111\n",
      "Generating VG image for PPG signal 95/52111\n",
      "Generating VG image for PPG signal 96/52111\n",
      "Generating VG image for PPG signal 97/52111\n",
      "Generating VG image for PPG signal 98/52111\n",
      "Generating VG image for PPG signal 99/52111\n",
      "Generating VG image for PPG signal 100/52111\n",
      "Generating VG image for PPG signal 101/52111\n",
      "Generating VG image for PPG signal 102/52111\n",
      "Generating VG image for PPG signal 103/52111\n",
      "Generating VG image for PPG signal 104/52111\n",
      "Generating VG image for PPG signal 105/52111\n",
      "Generating VG image for PPG signal 106/52111\n",
      "Generating VG image for PPG signal 107/52111\n",
      "Generating VG image for PPG signal 108/52111\n",
      "Generating VG image for PPG signal 109/52111\n",
      "Generating VG image for PPG signal 110/52111\n",
      "Generating VG image for PPG signal 111/52111\n",
      "Generating VG image for PPG signal 112/52111\n",
      "Generating VG image for PPG signal 113/52111\n",
      "Generating VG image for PPG signal 114/52111\n",
      "Generating VG image for PPG signal 115/52111\n",
      "Generating VG image for PPG signal 116/52111\n",
      "Generating VG image for PPG signal 117/52111\n",
      "Generating VG image for PPG signal 118/52111\n",
      "Generating VG image for PPG signal 119/52111\n",
      "Generating VG image for PPG signal 120/52111\n",
      "Generating VG image for PPG signal 121/52111\n",
      "Generating VG image for PPG signal 122/52111\n",
      "Generating VG image for PPG signal 123/52111\n",
      "Generating VG image for PPG signal 124/52111\n",
      "Generating VG image for PPG signal 125/52111\n",
      "Generating VG image for PPG signal 126/52111\n",
      "Generating VG image for PPG signal 127/52111\n",
      "Generating VG image for PPG signal 128/52111\n",
      "Generating VG image for PPG signal 129/52111\n",
      "Generating VG image for PPG signal 130/52111\n",
      "Generating VG image for PPG signal 131/52111\n",
      "Generating VG image for PPG signal 132/52111\n",
      "Generating VG image for PPG signal 133/52111\n",
      "Generating VG image for PPG signal 134/52111\n",
      "Generating VG image for PPG signal 135/52111\n",
      "Generating VG image for PPG signal 136/52111\n",
      "Generating VG image for PPG signal 137/52111\n",
      "Generating VG image for PPG signal 138/52111\n",
      "Generating VG image for PPG signal 139/52111\n",
      "Generating VG image for PPG signal 140/52111\n",
      "Generating VG image for PPG signal 141/52111\n",
      "Generating VG image for PPG signal 142/52111\n",
      "Generating VG image for PPG signal 143/52111\n",
      "Generating VG image for PPG signal 144/52111\n",
      "Generating VG image for PPG signal 145/52111\n",
      "Generating VG image for PPG signal 146/52111\n",
      "Generating VG image for PPG signal 147/52111\n",
      "Generating VG image for PPG signal 148/52111\n",
      "Generating VG image for PPG signal 149/52111\n",
      "Generating VG image for PPG signal 150/52111\n",
      "Generating VG image for PPG signal 151/52111\n",
      "Generating VG image for PPG signal 152/52111\n",
      "Generating VG image for PPG signal 153/52111\n",
      "Generating VG image for PPG signal 154/52111\n",
      "Generating VG image for PPG signal 155/52111\n",
      "Generating VG image for PPG signal 156/52111\n",
      "Generating VG image for PPG signal 157/52111\n",
      "Generating VG image for PPG signal 158/52111\n",
      "Generating VG image for PPG signal 159/52111\n",
      "Generating VG image for PPG signal 160/52111\n",
      "Generating VG image for PPG signal 161/52111\n",
      "Generating VG image for PPG signal 162/52111\n",
      "Generating VG image for PPG signal 163/52111\n",
      "Generating VG image for PPG signal 164/52111\n",
      "Generating VG image for PPG signal 165/52111\n",
      "Generating VG image for PPG signal 166/52111\n",
      "Generating VG image for PPG signal 167/52111\n",
      "Generating VG image for PPG signal 168/52111\n",
      "Generating VG image for PPG signal 169/52111\n",
      "Generating VG image for PPG signal 170/52111\n",
      "Generating VG image for PPG signal 171/52111\n",
      "Generating VG image for PPG signal 172/52111\n",
      "Generating VG image for PPG signal 173/52111\n",
      "Generating VG image for PPG signal 174/52111\n",
      "Generating VG image for PPG signal 175/52111\n",
      "Generating VG image for PPG signal 176/52111\n",
      "Generating VG image for PPG signal 177/52111\n",
      "Generating VG image for PPG signal 178/52111\n",
      "Generating VG image for PPG signal 179/52111\n",
      "Generating VG image for PPG signal 180/52111\n",
      "Generating VG image for PPG signal 181/52111\n",
      "Generating VG image for PPG signal 182/52111\n",
      "Generating VG image for PPG signal 183/52111\n",
      "Generating VG image for PPG signal 184/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 185/52111\n",
      "Generating VG image for PPG signal 186/52111\n",
      "Generating VG image for PPG signal 187/52111\n",
      "Generating VG image for PPG signal 188/52111\n",
      "Generating VG image for PPG signal 189/52111\n",
      "Generating VG image for PPG signal 190/52111\n",
      "Generating VG image for PPG signal 191/52111\n",
      "Generating VG image for PPG signal 192/52111\n",
      "Generating VG image for PPG signal 193/52111\n",
      "Generating VG image for PPG signal 194/52111\n",
      "Generating VG image for PPG signal 195/52111\n",
      "Generating VG image for PPG signal 196/52111\n",
      "Generating VG image for PPG signal 197/52111\n",
      "Generating VG image for PPG signal 198/52111\n",
      "Generating VG image for PPG signal 199/52111\n",
      "Generating VG image for PPG signal 200/52111\n",
      "Generating VG image for PPG signal 201/52111\n",
      "Generating VG image for PPG signal 202/52111\n",
      "Generating VG image for PPG signal 203/52111\n",
      "Generating VG image for PPG signal 204/52111\n",
      "Generating VG image for PPG signal 205/52111\n",
      "Generating VG image for PPG signal 206/52111\n",
      "Generating VG image for PPG signal 207/52111\n",
      "Generating VG image for PPG signal 208/52111\n",
      "Generating VG image for PPG signal 209/52111\n",
      "Generating VG image for PPG signal 210/52111\n",
      "Generating VG image for PPG signal 211/52111\n",
      "Generating VG image for PPG signal 212/52111\n",
      "Generating VG image for PPG signal 213/52111\n",
      "Generating VG image for PPG signal 214/52111\n",
      "Generating VG image for PPG signal 215/52111\n",
      "Generating VG image for PPG signal 216/52111\n",
      "Generating VG image for PPG signal 217/52111\n",
      "Generating VG image for PPG signal 218/52111\n",
      "Generating VG image for PPG signal 219/52111\n",
      "Generating VG image for PPG signal 220/52111\n",
      "Generating VG image for PPG signal 221/52111\n",
      "Generating VG image for PPG signal 222/52111\n",
      "Generating VG image for PPG signal 223/52111\n",
      "Generating VG image for PPG signal 224/52111\n",
      "Generating VG image for PPG signal 225/52111\n",
      "Generating VG image for PPG signal 226/52111\n",
      "Generating VG image for PPG signal 227/52111\n",
      "Generating VG image for PPG signal 228/52111\n",
      "Generating VG image for PPG signal 229/52111\n",
      "Generating VG image for PPG signal 230/52111\n",
      "Generating VG image for PPG signal 231/52111\n",
      "Generating VG image for PPG signal 232/52111\n",
      "Generating VG image for PPG signal 233/52111\n",
      "Generating VG image for PPG signal 234/52111\n",
      "Generating VG image for PPG signal 235/52111\n",
      "Generating VG image for PPG signal 236/52111\n",
      "Generating VG image for PPG signal 237/52111\n",
      "Generating VG image for PPG signal 238/52111\n",
      "Generating VG image for PPG signal 239/52111\n",
      "Generating VG image for PPG signal 240/52111\n",
      "Generating VG image for PPG signal 241/52111\n",
      "Generating VG image for PPG signal 242/52111\n",
      "Generating VG image for PPG signal 243/52111\n",
      "Generating VG image for PPG signal 244/52111\n",
      "Generating VG image for PPG signal 245/52111\n",
      "Generating VG image for PPG signal 246/52111\n",
      "Generating VG image for PPG signal 247/52111\n",
      "Generating VG image for PPG signal 248/52111\n",
      "Generating VG image for PPG signal 249/52111\n",
      "Generating VG image for PPG signal 250/52111\n",
      "Generating VG image for PPG signal 251/52111\n",
      "Generating VG image for PPG signal 252/52111\n",
      "Generating VG image for PPG signal 253/52111\n",
      "Generating VG image for PPG signal 254/52111\n",
      "Generating VG image for PPG signal 255/52111\n",
      "Generating VG image for PPG signal 256/52111\n",
      "Generating VG image for PPG signal 257/52111\n",
      "Generating VG image for PPG signal 258/52111\n",
      "Generating VG image for PPG signal 259/52111\n",
      "Generating VG image for PPG signal 260/52111\n",
      "Generating VG image for PPG signal 261/52111\n",
      "Generating VG image for PPG signal 262/52111\n",
      "Generating VG image for PPG signal 263/52111\n",
      "Generating VG image for PPG signal 264/52111\n",
      "Generating VG image for PPG signal 265/52111\n",
      "Generating VG image for PPG signal 266/52111\n",
      "Generating VG image for PPG signal 267/52111\n",
      "Generating VG image for PPG signal 268/52111\n",
      "Generating VG image for PPG signal 269/52111\n",
      "Generating VG image for PPG signal 270/52111\n",
      "Generating VG image for PPG signal 271/52111\n",
      "Generating VG image for PPG signal 272/52111\n",
      "Generating VG image for PPG signal 273/52111\n",
      "Generating VG image for PPG signal 274/52111\n",
      "Generating VG image for PPG signal 275/52111\n",
      "Generating VG image for PPG signal 276/52111\n",
      "Generating VG image for PPG signal 277/52111\n",
      "Generating VG image for PPG signal 278/52111\n",
      "Generating VG image for PPG signal 279/52111\n",
      "Generating VG image for PPG signal 280/52111\n",
      "Generating VG image for PPG signal 281/52111\n",
      "Generating VG image for PPG signal 282/52111\n",
      "Generating VG image for PPG signal 283/52111\n",
      "Generating VG image for PPG signal 284/52111\n",
      "Generating VG image for PPG signal 285/52111\n",
      "Generating VG image for PPG signal 286/52111\n",
      "Generating VG image for PPG signal 287/52111\n",
      "Generating VG image for PPG signal 288/52111\n",
      "Generating VG image for PPG signal 289/52111\n",
      "Generating VG image for PPG signal 290/52111\n",
      "Generating VG image for PPG signal 291/52111\n",
      "Generating VG image for PPG signal 292/52111\n",
      "Generating VG image for PPG signal 293/52111\n",
      "Generating VG image for PPG signal 294/52111\n",
      "Generating VG image for PPG signal 295/52111\n",
      "Generating VG image for PPG signal 296/52111\n",
      "Generating VG image for PPG signal 297/52111\n",
      "Generating VG image for PPG signal 298/52111\n",
      "Generating VG image for PPG signal 299/52111\n",
      "Generating VG image for PPG signal 300/52111\n",
      "Generating VG image for PPG signal 301/52111\n",
      "Generating VG image for PPG signal 302/52111\n",
      "Generating VG image for PPG signal 303/52111\n",
      "Generating VG image for PPG signal 304/52111\n",
      "Generating VG image for PPG signal 305/52111\n",
      "Generating VG image for PPG signal 306/52111\n",
      "Generating VG image for PPG signal 307/52111\n",
      "Generating VG image for PPG signal 308/52111\n",
      "Generating VG image for PPG signal 309/52111\n",
      "Generating VG image for PPG signal 310/52111\n",
      "Generating VG image for PPG signal 311/52111\n",
      "Generating VG image for PPG signal 312/52111\n",
      "Generating VG image for PPG signal 313/52111\n",
      "Generating VG image for PPG signal 314/52111\n",
      "Generating VG image for PPG signal 315/52111\n",
      "Generating VG image for PPG signal 316/52111\n",
      "Generating VG image for PPG signal 317/52111\n",
      "Generating VG image for PPG signal 318/52111\n",
      "Generating VG image for PPG signal 319/52111\n",
      "Generating VG image for PPG signal 320/52111\n",
      "Generating VG image for PPG signal 321/52111\n",
      "Generating VG image for PPG signal 322/52111\n",
      "Generating VG image for PPG signal 323/52111\n",
      "Generating VG image for PPG signal 324/52111\n",
      "Generating VG image for PPG signal 325/52111\n",
      "Generating VG image for PPG signal 326/52111\n",
      "Generating VG image for PPG signal 327/52111\n",
      "Generating VG image for PPG signal 328/52111\n",
      "Generating VG image for PPG signal 329/52111\n",
      "Generating VG image for PPG signal 330/52111\n",
      "Generating VG image for PPG signal 331/52111\n",
      "Generating VG image for PPG signal 332/52111\n",
      "Generating VG image for PPG signal 333/52111\n",
      "Generating VG image for PPG signal 334/52111\n",
      "Generating VG image for PPG signal 335/52111\n",
      "Generating VG image for PPG signal 336/52111\n",
      "Generating VG image for PPG signal 337/52111\n",
      "Generating VG image for PPG signal 338/52111\n",
      "Generating VG image for PPG signal 339/52111\n",
      "Generating VG image for PPG signal 340/52111\n",
      "Generating VG image for PPG signal 341/52111\n",
      "Generating VG image for PPG signal 342/52111\n",
      "Generating VG image for PPG signal 343/52111\n",
      "Generating VG image for PPG signal 344/52111\n",
      "Generating VG image for PPG signal 345/52111\n",
      "Generating VG image for PPG signal 346/52111\n",
      "Generating VG image for PPG signal 347/52111\n",
      "Generating VG image for PPG signal 348/52111\n",
      "Generating VG image for PPG signal 349/52111\n",
      "Generating VG image for PPG signal 350/52111\n",
      "Generating VG image for PPG signal 351/52111\n",
      "Generating VG image for PPG signal 352/52111\n",
      "Generating VG image for PPG signal 353/52111\n",
      "Generating VG image for PPG signal 354/52111\n",
      "Generating VG image for PPG signal 355/52111\n",
      "Generating VG image for PPG signal 356/52111\n",
      "Generating VG image for PPG signal 357/52111\n",
      "Generating VG image for PPG signal 358/52111\n",
      "Generating VG image for PPG signal 359/52111\n",
      "Generating VG image for PPG signal 360/52111\n",
      "Generating VG image for PPG signal 361/52111\n",
      "Generating VG image for PPG signal 362/52111\n",
      "Generating VG image for PPG signal 363/52111\n",
      "Generating VG image for PPG signal 364/52111\n",
      "Generating VG image for PPG signal 365/52111\n",
      "Generating VG image for PPG signal 366/52111\n",
      "Generating VG image for PPG signal 367/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 368/52111\n",
      "Generating VG image for PPG signal 369/52111\n",
      "Generating VG image for PPG signal 370/52111\n",
      "Generating VG image for PPG signal 371/52111\n",
      "Generating VG image for PPG signal 372/52111\n",
      "Generating VG image for PPG signal 373/52111\n",
      "Generating VG image for PPG signal 374/52111\n",
      "Generating VG image for PPG signal 375/52111\n",
      "Generating VG image for PPG signal 376/52111\n",
      "Generating VG image for PPG signal 377/52111\n",
      "Generating VG image for PPG signal 378/52111\n",
      "Generating VG image for PPG signal 379/52111\n",
      "Generating VG image for PPG signal 380/52111\n",
      "Generating VG image for PPG signal 381/52111\n",
      "Generating VG image for PPG signal 382/52111\n",
      "Generating VG image for PPG signal 383/52111\n",
      "Generating VG image for PPG signal 384/52111\n",
      "Generating VG image for PPG signal 385/52111\n",
      "Generating VG image for PPG signal 386/52111\n",
      "Generating VG image for PPG signal 387/52111\n",
      "Generating VG image for PPG signal 388/52111\n",
      "Generating VG image for PPG signal 389/52111\n",
      "Generating VG image for PPG signal 390/52111\n",
      "Generating VG image for PPG signal 391/52111\n",
      "Generating VG image for PPG signal 392/52111\n",
      "Generating VG image for PPG signal 393/52111\n",
      "Generating VG image for PPG signal 394/52111\n",
      "Generating VG image for PPG signal 395/52111\n",
      "Generating VG image for PPG signal 396/52111\n",
      "Generating VG image for PPG signal 397/52111\n",
      "Generating VG image for PPG signal 398/52111\n",
      "Generating VG image for PPG signal 399/52111\n",
      "Generating VG image for PPG signal 400/52111\n",
      "Generating VG image for PPG signal 401/52111\n",
      "Generating VG image for PPG signal 402/52111\n",
      "Generating VG image for PPG signal 403/52111\n",
      "Generating VG image for PPG signal 404/52111\n",
      "Generating VG image for PPG signal 405/52111\n",
      "Generating VG image for PPG signal 406/52111\n",
      "Generating VG image for PPG signal 407/52111\n",
      "Generating VG image for PPG signal 408/52111\n",
      "Generating VG image for PPG signal 409/52111\n",
      "Generating VG image for PPG signal 410/52111\n",
      "Generating VG image for PPG signal 411/52111\n",
      "Generating VG image for PPG signal 412/52111\n",
      "Generating VG image for PPG signal 413/52111\n",
      "Generating VG image for PPG signal 414/52111\n",
      "Generating VG image for PPG signal 415/52111\n",
      "Generating VG image for PPG signal 416/52111\n",
      "Generating VG image for PPG signal 417/52111\n",
      "Generating VG image for PPG signal 418/52111\n",
      "Generating VG image for PPG signal 419/52111\n",
      "Generating VG image for PPG signal 420/52111\n",
      "Generating VG image for PPG signal 421/52111\n",
      "Generating VG image for PPG signal 422/52111\n",
      "Generating VG image for PPG signal 423/52111\n",
      "Generating VG image for PPG signal 424/52111\n",
      "Generating VG image for PPG signal 425/52111\n",
      "Generating VG image for PPG signal 426/52111\n",
      "Generating VG image for PPG signal 427/52111\n",
      "Generating VG image for PPG signal 428/52111\n",
      "Generating VG image for PPG signal 429/52111\n",
      "Generating VG image for PPG signal 430/52111\n",
      "Generating VG image for PPG signal 431/52111\n",
      "Generating VG image for PPG signal 432/52111\n",
      "Generating VG image for PPG signal 433/52111\n",
      "Generating VG image for PPG signal 434/52111\n",
      "Generating VG image for PPG signal 435/52111\n",
      "Generating VG image for PPG signal 436/52111\n",
      "Generating VG image for PPG signal 437/52111\n",
      "Generating VG image for PPG signal 438/52111\n",
      "Generating VG image for PPG signal 439/52111\n",
      "Generating VG image for PPG signal 440/52111\n",
      "Generating VG image for PPG signal 441/52111\n",
      "Generating VG image for PPG signal 442/52111\n",
      "Generating VG image for PPG signal 443/52111\n",
      "Generating VG image for PPG signal 444/52111\n",
      "Generating VG image for PPG signal 445/52111\n",
      "Generating VG image for PPG signal 446/52111\n",
      "Generating VG image for PPG signal 447/52111\n",
      "Generating VG image for PPG signal 448/52111\n",
      "Generating VG image for PPG signal 449/52111\n",
      "Generating VG image for PPG signal 450/52111\n",
      "Generating VG image for PPG signal 451/52111\n",
      "Generating VG image for PPG signal 452/52111\n",
      "Generating VG image for PPG signal 453/52111\n",
      "Generating VG image for PPG signal 454/52111\n",
      "Generating VG image for PPG signal 455/52111\n",
      "Generating VG image for PPG signal 456/52111\n",
      "Generating VG image for PPG signal 457/52111\n",
      "Generating VG image for PPG signal 458/52111\n",
      "Generating VG image for PPG signal 459/52111\n",
      "Generating VG image for PPG signal 460/52111\n",
      "Generating VG image for PPG signal 461/52111\n",
      "Generating VG image for PPG signal 462/52111\n",
      "Generating VG image for PPG signal 463/52111\n",
      "Generating VG image for PPG signal 464/52111\n",
      "Generating VG image for PPG signal 465/52111\n",
      "Generating VG image for PPG signal 466/52111\n",
      "Generating VG image for PPG signal 467/52111\n",
      "Generating VG image for PPG signal 468/52111\n",
      "Generating VG image for PPG signal 469/52111\n",
      "Generating VG image for PPG signal 470/52111\n",
      "Generating VG image for PPG signal 471/52111\n",
      "Generating VG image for PPG signal 472/52111\n",
      "Generating VG image for PPG signal 473/52111\n",
      "Generating VG image for PPG signal 474/52111\n",
      "Generating VG image for PPG signal 475/52111\n",
      "Generating VG image for PPG signal 476/52111\n",
      "Generating VG image for PPG signal 477/52111\n",
      "Generating VG image for PPG signal 478/52111\n",
      "Generating VG image for PPG signal 479/52111\n",
      "Generating VG image for PPG signal 480/52111\n",
      "Generating VG image for PPG signal 481/52111\n",
      "Generating VG image for PPG signal 482/52111\n",
      "Generating VG image for PPG signal 483/52111\n",
      "Generating VG image for PPG signal 484/52111\n",
      "Generating VG image for PPG signal 485/52111\n",
      "Generating VG image for PPG signal 486/52111\n",
      "Generating VG image for PPG signal 487/52111\n",
      "Generating VG image for PPG signal 488/52111\n",
      "Generating VG image for PPG signal 489/52111\n",
      "Generating VG image for PPG signal 490/52111\n",
      "Generating VG image for PPG signal 491/52111\n",
      "Generating VG image for PPG signal 492/52111\n",
      "Generating VG image for PPG signal 493/52111\n",
      "Generating VG image for PPG signal 494/52111\n",
      "Generating VG image for PPG signal 495/52111\n",
      "Generating VG image for PPG signal 496/52111\n",
      "Generating VG image for PPG signal 497/52111\n",
      "Generating VG image for PPG signal 498/52111\n",
      "Generating VG image for PPG signal 499/52111\n",
      "Generating VG image for PPG signal 500/52111\n",
      "Generating VG image for PPG signal 501/52111\n",
      "Generating VG image for PPG signal 502/52111\n",
      "Generating VG image for PPG signal 503/52111\n",
      "Generating VG image for PPG signal 504/52111\n",
      "Generating VG image for PPG signal 505/52111\n",
      "Generating VG image for PPG signal 506/52111\n",
      "Generating VG image for PPG signal 507/52111\n",
      "Generating VG image for PPG signal 508/52111\n",
      "Generating VG image for PPG signal 509/52111\n",
      "Generating VG image for PPG signal 510/52111\n",
      "Generating VG image for PPG signal 511/52111\n",
      "Generating VG image for PPG signal 512/52111\n",
      "Generating VG image for PPG signal 513/52111\n",
      "Generating VG image for PPG signal 514/52111\n",
      "Generating VG image for PPG signal 515/52111\n",
      "Generating VG image for PPG signal 516/52111\n",
      "Generating VG image for PPG signal 517/52111\n",
      "Generating VG image for PPG signal 518/52111\n",
      "Generating VG image for PPG signal 519/52111\n",
      "Generating VG image for PPG signal 520/52111\n",
      "Generating VG image for PPG signal 521/52111\n",
      "Generating VG image for PPG signal 522/52111\n",
      "Generating VG image for PPG signal 523/52111\n",
      "Generating VG image for PPG signal 524/52111\n",
      "Generating VG image for PPG signal 525/52111\n",
      "Generating VG image for PPG signal 526/52111\n",
      "Generating VG image for PPG signal 527/52111\n",
      "Generating VG image for PPG signal 528/52111\n",
      "Generating VG image for PPG signal 529/52111\n",
      "Generating VG image for PPG signal 530/52111\n",
      "Generating VG image for PPG signal 531/52111\n",
      "Generating VG image for PPG signal 532/52111\n",
      "Generating VG image for PPG signal 533/52111\n",
      "Generating VG image for PPG signal 534/52111\n",
      "Generating VG image for PPG signal 535/52111\n",
      "Generating VG image for PPG signal 536/52111\n",
      "Generating VG image for PPG signal 537/52111\n",
      "Generating VG image for PPG signal 538/52111\n",
      "Generating VG image for PPG signal 539/52111\n",
      "Generating VG image for PPG signal 540/52111\n",
      "Generating VG image for PPG signal 541/52111\n",
      "Generating VG image for PPG signal 542/52111\n",
      "Generating VG image for PPG signal 543/52111\n",
      "Generating VG image for PPG signal 544/52111\n",
      "Generating VG image for PPG signal 545/52111\n",
      "Generating VG image for PPG signal 546/52111\n",
      "Generating VG image for PPG signal 547/52111\n",
      "Generating VG image for PPG signal 548/52111\n",
      "Generating VG image for PPG signal 549/52111\n",
      "Generating VG image for PPG signal 550/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 551/52111\n",
      "Generating VG image for PPG signal 552/52111\n",
      "Generating VG image for PPG signal 553/52111\n",
      "Generating VG image for PPG signal 554/52111\n",
      "Generating VG image for PPG signal 555/52111\n",
      "Generating VG image for PPG signal 556/52111\n",
      "Generating VG image for PPG signal 557/52111\n",
      "Generating VG image for PPG signal 558/52111\n",
      "Generating VG image for PPG signal 559/52111\n",
      "Generating VG image for PPG signal 560/52111\n",
      "Generating VG image for PPG signal 561/52111\n",
      "Generating VG image for PPG signal 562/52111\n",
      "Generating VG image for PPG signal 563/52111\n",
      "Generating VG image for PPG signal 564/52111\n",
      "Generating VG image for PPG signal 565/52111\n",
      "Generating VG image for PPG signal 566/52111\n",
      "Generating VG image for PPG signal 567/52111\n",
      "Generating VG image for PPG signal 568/52111\n",
      "Generating VG image for PPG signal 569/52111\n",
      "Generating VG image for PPG signal 570/52111\n",
      "Generating VG image for PPG signal 571/52111\n",
      "Generating VG image for PPG signal 572/52111\n",
      "Generating VG image for PPG signal 573/52111\n",
      "Generating VG image for PPG signal 574/52111\n",
      "Generating VG image for PPG signal 575/52111\n",
      "Generating VG image for PPG signal 576/52111\n",
      "Generating VG image for PPG signal 577/52111\n",
      "Generating VG image for PPG signal 578/52111\n",
      "Generating VG image for PPG signal 579/52111\n",
      "Generating VG image for PPG signal 580/52111\n",
      "Generating VG image for PPG signal 581/52111\n",
      "Generating VG image for PPG signal 582/52111\n",
      "Generating VG image for PPG signal 583/52111\n",
      "Generating VG image for PPG signal 584/52111\n",
      "Generating VG image for PPG signal 585/52111\n",
      "Generating VG image for PPG signal 586/52111\n",
      "Generating VG image for PPG signal 587/52111\n",
      "Generating VG image for PPG signal 588/52111\n",
      "Generating VG image for PPG signal 589/52111\n",
      "Generating VG image for PPG signal 590/52111\n",
      "Generating VG image for PPG signal 591/52111\n",
      "Generating VG image for PPG signal 592/52111\n",
      "Generating VG image for PPG signal 593/52111\n",
      "Generating VG image for PPG signal 594/52111\n",
      "Generating VG image for PPG signal 595/52111\n",
      "Generating VG image for PPG signal 596/52111\n",
      "Generating VG image for PPG signal 597/52111\n",
      "Generating VG image for PPG signal 598/52111\n",
      "Generating VG image for PPG signal 599/52111\n",
      "Generating VG image for PPG signal 600/52111\n",
      "Generating VG image for PPG signal 601/52111\n",
      "Generating VG image for PPG signal 602/52111\n",
      "Generating VG image for PPG signal 603/52111\n",
      "Generating VG image for PPG signal 604/52111\n",
      "Generating VG image for PPG signal 605/52111\n",
      "Generating VG image for PPG signal 606/52111\n",
      "Generating VG image for PPG signal 607/52111\n",
      "Generating VG image for PPG signal 608/52111\n",
      "Generating VG image for PPG signal 609/52111\n",
      "Generating VG image for PPG signal 610/52111\n",
      "Generating VG image for PPG signal 611/52111\n",
      "Generating VG image for PPG signal 612/52111\n",
      "Generating VG image for PPG signal 613/52111\n",
      "Generating VG image for PPG signal 614/52111\n",
      "Generating VG image for PPG signal 615/52111\n",
      "Generating VG image for PPG signal 616/52111\n",
      "Generating VG image for PPG signal 617/52111\n",
      "Generating VG image for PPG signal 618/52111\n",
      "Generating VG image for PPG signal 619/52111\n",
      "Generating VG image for PPG signal 620/52111\n",
      "Generating VG image for PPG signal 621/52111\n",
      "Generating VG image for PPG signal 622/52111\n",
      "Generating VG image for PPG signal 623/52111\n",
      "Generating VG image for PPG signal 624/52111\n",
      "Generating VG image for PPG signal 625/52111\n",
      "Generating VG image for PPG signal 626/52111\n",
      "Generating VG image for PPG signal 627/52111\n",
      "Generating VG image for PPG signal 628/52111\n",
      "Generating VG image for PPG signal 629/52111\n",
      "Generating VG image for PPG signal 630/52111\n",
      "Generating VG image for PPG signal 631/52111\n",
      "Generating VG image for PPG signal 632/52111\n",
      "Generating VG image for PPG signal 633/52111\n",
      "Generating VG image for PPG signal 634/52111\n",
      "Generating VG image for PPG signal 635/52111\n",
      "Generating VG image for PPG signal 636/52111\n",
      "Generating VG image for PPG signal 637/52111\n",
      "Generating VG image for PPG signal 638/52111\n",
      "Generating VG image for PPG signal 639/52111\n",
      "Generating VG image for PPG signal 640/52111\n",
      "Generating VG image for PPG signal 641/52111\n",
      "Generating VG image for PPG signal 642/52111\n",
      "Generating VG image for PPG signal 643/52111\n",
      "Generating VG image for PPG signal 644/52111\n",
      "Generating VG image for PPG signal 645/52111\n",
      "Generating VG image for PPG signal 646/52111\n",
      "Generating VG image for PPG signal 647/52111\n",
      "Generating VG image for PPG signal 648/52111\n",
      "Generating VG image for PPG signal 649/52111\n",
      "Generating VG image for PPG signal 650/52111\n",
      "Generating VG image for PPG signal 651/52111\n",
      "Generating VG image for PPG signal 652/52111\n",
      "Generating VG image for PPG signal 653/52111\n",
      "Generating VG image for PPG signal 654/52111\n",
      "Generating VG image for PPG signal 655/52111\n",
      "Generating VG image for PPG signal 656/52111\n",
      "Generating VG image for PPG signal 657/52111\n",
      "Generating VG image for PPG signal 658/52111\n",
      "Generating VG image for PPG signal 659/52111\n",
      "Generating VG image for PPG signal 660/52111\n",
      "Generating VG image for PPG signal 661/52111\n",
      "Generating VG image for PPG signal 662/52111\n",
      "Generating VG image for PPG signal 663/52111\n",
      "Generating VG image for PPG signal 664/52111\n",
      "Generating VG image for PPG signal 665/52111\n",
      "Generating VG image for PPG signal 666/52111\n",
      "Generating VG image for PPG signal 667/52111\n",
      "Generating VG image for PPG signal 668/52111\n",
      "Generating VG image for PPG signal 669/52111\n",
      "Generating VG image for PPG signal 670/52111\n",
      "Generating VG image for PPG signal 671/52111\n",
      "Generating VG image for PPG signal 672/52111\n",
      "Generating VG image for PPG signal 673/52111\n",
      "Generating VG image for PPG signal 674/52111\n",
      "Generating VG image for PPG signal 675/52111\n",
      "Generating VG image for PPG signal 676/52111\n",
      "Generating VG image for PPG signal 677/52111\n",
      "Generating VG image for PPG signal 678/52111\n",
      "Generating VG image for PPG signal 679/52111\n",
      "Generating VG image for PPG signal 680/52111\n",
      "Generating VG image for PPG signal 681/52111\n",
      "Generating VG image for PPG signal 682/52111\n",
      "Generating VG image for PPG signal 683/52111\n",
      "Generating VG image for PPG signal 684/52111\n",
      "Generating VG image for PPG signal 685/52111\n",
      "Generating VG image for PPG signal 686/52111\n",
      "Generating VG image for PPG signal 687/52111\n",
      "Generating VG image for PPG signal 688/52111\n",
      "Generating VG image for PPG signal 689/52111\n",
      "Generating VG image for PPG signal 690/52111\n",
      "Generating VG image for PPG signal 691/52111\n",
      "Generating VG image for PPG signal 692/52111\n",
      "Generating VG image for PPG signal 693/52111\n",
      "Generating VG image for PPG signal 694/52111\n",
      "Generating VG image for PPG signal 695/52111\n",
      "Generating VG image for PPG signal 696/52111\n",
      "Generating VG image for PPG signal 697/52111\n",
      "Generating VG image for PPG signal 698/52111\n",
      "Generating VG image for PPG signal 699/52111\n",
      "Generating VG image for PPG signal 700/52111\n",
      "Generating VG image for PPG signal 701/52111\n",
      "Generating VG image for PPG signal 702/52111\n",
      "Generating VG image for PPG signal 703/52111\n",
      "Generating VG image for PPG signal 704/52111\n",
      "Generating VG image for PPG signal 705/52111\n",
      "Generating VG image for PPG signal 706/52111\n",
      "Generating VG image for PPG signal 707/52111\n",
      "Generating VG image for PPG signal 708/52111\n",
      "Generating VG image for PPG signal 709/52111\n",
      "Generating VG image for PPG signal 710/52111\n",
      "Generating VG image for PPG signal 711/52111\n",
      "Generating VG image for PPG signal 712/52111\n",
      "Generating VG image for PPG signal 713/52111\n",
      "Generating VG image for PPG signal 714/52111\n",
      "Generating VG image for PPG signal 715/52111\n",
      "Generating VG image for PPG signal 716/52111\n",
      "Generating VG image for PPG signal 717/52111\n",
      "Generating VG image for PPG signal 718/52111\n",
      "Generating VG image for PPG signal 719/52111\n",
      "Generating VG image for PPG signal 720/52111\n",
      "Generating VG image for PPG signal 721/52111\n",
      "Generating VG image for PPG signal 722/52111\n",
      "Generating VG image for PPG signal 723/52111\n",
      "Generating VG image for PPG signal 724/52111\n",
      "Generating VG image for PPG signal 725/52111\n",
      "Generating VG image for PPG signal 726/52111\n",
      "Generating VG image for PPG signal 727/52111\n",
      "Generating VG image for PPG signal 728/52111\n",
      "Generating VG image for PPG signal 729/52111\n",
      "Generating VG image for PPG signal 730/52111\n",
      "Generating VG image for PPG signal 731/52111\n",
      "Generating VG image for PPG signal 732/52111\n",
      "Generating VG image for PPG signal 733/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 734/52111\n",
      "Generating VG image for PPG signal 735/52111\n",
      "Generating VG image for PPG signal 736/52111\n",
      "Generating VG image for PPG signal 737/52111\n",
      "Generating VG image for PPG signal 738/52111\n",
      "Generating VG image for PPG signal 739/52111\n",
      "Generating VG image for PPG signal 740/52111\n",
      "Generating VG image for PPG signal 741/52111\n",
      "Generating VG image for PPG signal 742/52111\n",
      "Generating VG image for PPG signal 743/52111\n",
      "Generating VG image for PPG signal 744/52111\n",
      "Generating VG image for PPG signal 745/52111\n",
      "Generating VG image for PPG signal 746/52111\n",
      "Generating VG image for PPG signal 747/52111\n",
      "Generating VG image for PPG signal 748/52111\n",
      "Generating VG image for PPG signal 749/52111\n",
      "Generating VG image for PPG signal 750/52111\n",
      "Generating VG image for PPG signal 751/52111\n",
      "Generating VG image for PPG signal 752/52111\n",
      "Generating VG image for PPG signal 753/52111\n",
      "Generating VG image for PPG signal 754/52111\n",
      "Generating VG image for PPG signal 755/52111\n",
      "Generating VG image for PPG signal 756/52111\n",
      "Generating VG image for PPG signal 757/52111\n",
      "Generating VG image for PPG signal 758/52111\n",
      "Generating VG image for PPG signal 759/52111\n",
      "Generating VG image for PPG signal 760/52111\n",
      "Generating VG image for PPG signal 761/52111\n",
      "Generating VG image for PPG signal 762/52111\n",
      "Generating VG image for PPG signal 763/52111\n",
      "Generating VG image for PPG signal 764/52111\n",
      "Generating VG image for PPG signal 765/52111\n",
      "Generating VG image for PPG signal 766/52111\n",
      "Generating VG image for PPG signal 767/52111\n",
      "Generating VG image for PPG signal 768/52111\n",
      "Generating VG image for PPG signal 769/52111\n",
      "Generating VG image for PPG signal 770/52111\n",
      "Generating VG image for PPG signal 771/52111\n",
      "Generating VG image for PPG signal 772/52111\n",
      "Generating VG image for PPG signal 773/52111\n",
      "Generating VG image for PPG signal 774/52111\n",
      "Generating VG image for PPG signal 775/52111\n",
      "Generating VG image for PPG signal 776/52111\n",
      "Generating VG image for PPG signal 777/52111\n",
      "Generating VG image for PPG signal 778/52111\n",
      "Generating VG image for PPG signal 779/52111\n",
      "Generating VG image for PPG signal 780/52111\n",
      "Generating VG image for PPG signal 781/52111\n",
      "Generating VG image for PPG signal 782/52111\n",
      "Generating VG image for PPG signal 783/52111\n",
      "Generating VG image for PPG signal 784/52111\n",
      "Generating VG image for PPG signal 785/52111\n",
      "Generating VG image for PPG signal 786/52111\n",
      "Generating VG image for PPG signal 787/52111\n",
      "Generating VG image for PPG signal 788/52111\n",
      "Generating VG image for PPG signal 789/52111\n",
      "Generating VG image for PPG signal 790/52111\n",
      "Generating VG image for PPG signal 791/52111\n",
      "Generating VG image for PPG signal 792/52111\n",
      "Generating VG image for PPG signal 793/52111\n",
      "Generating VG image for PPG signal 794/52111\n",
      "Generating VG image for PPG signal 795/52111\n",
      "Generating VG image for PPG signal 796/52111\n",
      "Generating VG image for PPG signal 797/52111\n",
      "Generating VG image for PPG signal 798/52111\n",
      "Generating VG image for PPG signal 799/52111\n",
      "Generating VG image for PPG signal 800/52111\n",
      "Generating VG image for PPG signal 801/52111\n",
      "Generating VG image for PPG signal 802/52111\n",
      "Generating VG image for PPG signal 803/52111\n",
      "Generating VG image for PPG signal 804/52111\n",
      "Generating VG image for PPG signal 805/52111\n",
      "Generating VG image for PPG signal 806/52111\n",
      "Generating VG image for PPG signal 807/52111\n",
      "Generating VG image for PPG signal 808/52111\n",
      "Generating VG image for PPG signal 809/52111\n",
      "Generating VG image for PPG signal 810/52111\n",
      "Generating VG image for PPG signal 811/52111\n",
      "Generating VG image for PPG signal 812/52111\n",
      "Generating VG image for PPG signal 813/52111\n",
      "Generating VG image for PPG signal 814/52111\n",
      "Generating VG image for PPG signal 815/52111\n",
      "Generating VG image for PPG signal 816/52111\n",
      "Generating VG image for PPG signal 817/52111\n",
      "Generating VG image for PPG signal 818/52111\n",
      "Generating VG image for PPG signal 819/52111\n",
      "Generating VG image for PPG signal 820/52111\n",
      "Generating VG image for PPG signal 821/52111\n",
      "Generating VG image for PPG signal 822/52111\n",
      "Generating VG image for PPG signal 823/52111\n",
      "Generating VG image for PPG signal 824/52111\n",
      "Generating VG image for PPG signal 825/52111\n",
      "Generating VG image for PPG signal 826/52111\n",
      "Generating VG image for PPG signal 827/52111\n",
      "Generating VG image for PPG signal 828/52111\n",
      "Generating VG image for PPG signal 829/52111\n",
      "Generating VG image for PPG signal 830/52111\n",
      "Generating VG image for PPG signal 831/52111\n",
      "Generating VG image for PPG signal 832/52111\n",
      "Generating VG image for PPG signal 833/52111\n",
      "Generating VG image for PPG signal 834/52111\n",
      "Generating VG image for PPG signal 835/52111\n",
      "Generating VG image for PPG signal 836/52111\n",
      "Generating VG image for PPG signal 837/52111\n",
      "Generating VG image for PPG signal 838/52111\n",
      "Generating VG image for PPG signal 839/52111\n",
      "Generating VG image for PPG signal 840/52111\n",
      "Generating VG image for PPG signal 841/52111\n",
      "Generating VG image for PPG signal 842/52111\n",
      "Generating VG image for PPG signal 843/52111\n",
      "Generating VG image for PPG signal 844/52111\n",
      "Generating VG image for PPG signal 845/52111\n",
      "Generating VG image for PPG signal 846/52111\n",
      "Generating VG image for PPG signal 847/52111\n",
      "Generating VG image for PPG signal 848/52111\n",
      "Generating VG image for PPG signal 849/52111\n",
      "Generating VG image for PPG signal 850/52111\n",
      "Generating VG image for PPG signal 851/52111\n",
      "Generating VG image for PPG signal 852/52111\n",
      "Generating VG image for PPG signal 853/52111\n",
      "Generating VG image for PPG signal 854/52111\n",
      "Generating VG image for PPG signal 855/52111\n",
      "Generating VG image for PPG signal 856/52111\n",
      "Generating VG image for PPG signal 857/52111\n",
      "Generating VG image for PPG signal 858/52111\n",
      "Generating VG image for PPG signal 859/52111\n",
      "Generating VG image for PPG signal 860/52111\n",
      "Generating VG image for PPG signal 861/52111\n",
      "Generating VG image for PPG signal 862/52111\n",
      "Generating VG image for PPG signal 863/52111\n",
      "Generating VG image for PPG signal 864/52111\n",
      "Generating VG image for PPG signal 865/52111\n",
      "Generating VG image for PPG signal 866/52111\n",
      "Generating VG image for PPG signal 867/52111\n",
      "Generating VG image for PPG signal 868/52111\n",
      "Generating VG image for PPG signal 869/52111\n",
      "Generating VG image for PPG signal 870/52111\n",
      "Generating VG image for PPG signal 871/52111\n",
      "Generating VG image for PPG signal 872/52111\n",
      "Generating VG image for PPG signal 873/52111\n",
      "Generating VG image for PPG signal 874/52111\n",
      "Generating VG image for PPG signal 875/52111\n",
      "Generating VG image for PPG signal 876/52111\n",
      "Generating VG image for PPG signal 877/52111\n",
      "Generating VG image for PPG signal 878/52111\n",
      "Generating VG image for PPG signal 879/52111\n",
      "Generating VG image for PPG signal 880/52111\n",
      "Generating VG image for PPG signal 881/52111\n",
      "Generating VG image for PPG signal 882/52111\n",
      "Generating VG image for PPG signal 883/52111\n",
      "Generating VG image for PPG signal 884/52111\n",
      "Generating VG image for PPG signal 885/52111\n",
      "Generating VG image for PPG signal 886/52111\n",
      "Generating VG image for PPG signal 887/52111\n",
      "Generating VG image for PPG signal 888/52111\n",
      "Generating VG image for PPG signal 889/52111\n",
      "Generating VG image for PPG signal 890/52111\n",
      "Generating VG image for PPG signal 891/52111\n",
      "Generating VG image for PPG signal 892/52111\n",
      "Generating VG image for PPG signal 893/52111\n",
      "Generating VG image for PPG signal 894/52111\n",
      "Generating VG image for PPG signal 895/52111\n",
      "Generating VG image for PPG signal 896/52111\n",
      "Generating VG image for PPG signal 897/52111\n",
      "Generating VG image for PPG signal 898/52111\n",
      "Generating VG image for PPG signal 899/52111\n",
      "Generating VG image for PPG signal 900/52111\n",
      "Generating VG image for PPG signal 901/52111\n",
      "Generating VG image for PPG signal 902/52111\n",
      "Generating VG image for PPG signal 903/52111\n",
      "Generating VG image for PPG signal 904/52111\n",
      "Generating VG image for PPG signal 905/52111\n",
      "Generating VG image for PPG signal 906/52111\n",
      "Generating VG image for PPG signal 907/52111\n",
      "Generating VG image for PPG signal 908/52111\n",
      "Generating VG image for PPG signal 909/52111\n",
      "Generating VG image for PPG signal 910/52111\n",
      "Generating VG image for PPG signal 911/52111\n",
      "Generating VG image for PPG signal 912/52111\n",
      "Generating VG image for PPG signal 913/52111\n",
      "Generating VG image for PPG signal 914/52111\n",
      "Generating VG image for PPG signal 915/52111\n",
      "Generating VG image for PPG signal 916/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 917/52111\n",
      "Generating VG image for PPG signal 918/52111\n",
      "Generating VG image for PPG signal 919/52111\n",
      "Generating VG image for PPG signal 920/52111\n",
      "Generating VG image for PPG signal 921/52111\n",
      "Generating VG image for PPG signal 922/52111\n",
      "Generating VG image for PPG signal 923/52111\n",
      "Generating VG image for PPG signal 924/52111\n",
      "Generating VG image for PPG signal 925/52111\n",
      "Generating VG image for PPG signal 926/52111\n",
      "Generating VG image for PPG signal 927/52111\n",
      "Generating VG image for PPG signal 928/52111\n",
      "Generating VG image for PPG signal 929/52111\n",
      "Generating VG image for PPG signal 930/52111\n",
      "Generating VG image for PPG signal 931/52111\n",
      "Generating VG image for PPG signal 932/52111\n",
      "Generating VG image for PPG signal 933/52111\n",
      "Generating VG image for PPG signal 934/52111\n",
      "Generating VG image for PPG signal 935/52111\n",
      "Generating VG image for PPG signal 936/52111\n",
      "Generating VG image for PPG signal 937/52111\n",
      "Generating VG image for PPG signal 938/52111\n",
      "Generating VG image for PPG signal 939/52111\n",
      "Generating VG image for PPG signal 940/52111\n",
      "Generating VG image for PPG signal 941/52111\n",
      "Generating VG image for PPG signal 942/52111\n",
      "Generating VG image for PPG signal 943/52111\n",
      "Generating VG image for PPG signal 944/52111\n",
      "Generating VG image for PPG signal 945/52111\n",
      "Generating VG image for PPG signal 946/52111\n",
      "Generating VG image for PPG signal 947/52111\n",
      "Generating VG image for PPG signal 948/52111\n",
      "Generating VG image for PPG signal 949/52111\n",
      "Generating VG image for PPG signal 950/52111\n",
      "Generating VG image for PPG signal 951/52111\n",
      "Generating VG image for PPG signal 952/52111\n",
      "Generating VG image for PPG signal 953/52111\n",
      "Generating VG image for PPG signal 954/52111\n",
      "Generating VG image for PPG signal 955/52111\n",
      "Generating VG image for PPG signal 956/52111\n",
      "Generating VG image for PPG signal 957/52111\n",
      "Generating VG image for PPG signal 958/52111\n",
      "Generating VG image for PPG signal 959/52111\n",
      "Generating VG image for PPG signal 960/52111\n",
      "Generating VG image for PPG signal 961/52111\n",
      "Generating VG image for PPG signal 962/52111\n",
      "Generating VG image for PPG signal 963/52111\n",
      "Generating VG image for PPG signal 964/52111\n",
      "Generating VG image for PPG signal 965/52111\n",
      "Generating VG image for PPG signal 966/52111\n",
      "Generating VG image for PPG signal 967/52111\n",
      "Generating VG image for PPG signal 968/52111\n",
      "Generating VG image for PPG signal 969/52111\n",
      "Generating VG image for PPG signal 970/52111\n",
      "Generating VG image for PPG signal 971/52111\n",
      "Generating VG image for PPG signal 972/52111\n",
      "Generating VG image for PPG signal 973/52111\n",
      "Generating VG image for PPG signal 974/52111\n",
      "Generating VG image for PPG signal 975/52111\n",
      "Generating VG image for PPG signal 976/52111\n",
      "Generating VG image for PPG signal 977/52111\n",
      "Generating VG image for PPG signal 978/52111\n",
      "Generating VG image for PPG signal 979/52111\n",
      "Generating VG image for PPG signal 980/52111\n",
      "Generating VG image for PPG signal 981/52111\n",
      "Generating VG image for PPG signal 982/52111\n",
      "Generating VG image for PPG signal 983/52111\n",
      "Generating VG image for PPG signal 984/52111\n",
      "Generating VG image for PPG signal 985/52111\n",
      "Generating VG image for PPG signal 986/52111\n",
      "Generating VG image for PPG signal 987/52111\n",
      "Generating VG image for PPG signal 988/52111\n",
      "Generating VG image for PPG signal 989/52111\n",
      "Generating VG image for PPG signal 990/52111\n",
      "Generating VG image for PPG signal 991/52111\n",
      "Generating VG image for PPG signal 992/52111\n",
      "Generating VG image for PPG signal 993/52111\n",
      "Generating VG image for PPG signal 994/52111\n",
      "Generating VG image for PPG signal 995/52111\n",
      "Generating VG image for PPG signal 996/52111\n",
      "Generating VG image for PPG signal 997/52111\n",
      "Generating VG image for PPG signal 998/52111\n",
      "Generating VG image for PPG signal 999/52111\n",
      "Generating VG image for PPG signal 1000/52111\n",
      "Generating VG image for PPG signal 1001/52111\n",
      "Generating VG image for PPG signal 1002/52111\n",
      "Generating VG image for PPG signal 1003/52111\n",
      "Generating VG image for PPG signal 1004/52111\n",
      "Generating VG image for PPG signal 1005/52111\n",
      "Generating VG image for PPG signal 1006/52111\n",
      "Generating VG image for PPG signal 1007/52111\n",
      "Generating VG image for PPG signal 1008/52111\n",
      "Generating VG image for PPG signal 1009/52111\n",
      "Generating VG image for PPG signal 1010/52111\n",
      "Generating VG image for PPG signal 1011/52111\n",
      "Generating VG image for PPG signal 1012/52111\n",
      "Generating VG image for PPG signal 1013/52111\n",
      "Generating VG image for PPG signal 1014/52111\n",
      "Generating VG image for PPG signal 1015/52111\n",
      "Generating VG image for PPG signal 1016/52111\n",
      "Generating VG image for PPG signal 1017/52111\n",
      "Generating VG image for PPG signal 1018/52111\n",
      "Generating VG image for PPG signal 1019/52111\n",
      "Generating VG image for PPG signal 1020/52111\n",
      "Generating VG image for PPG signal 1021/52111\n",
      "Generating VG image for PPG signal 1022/52111\n",
      "Generating VG image for PPG signal 1023/52111\n",
      "Generating VG image for PPG signal 1024/52111\n",
      "Generating VG image for PPG signal 1025/52111\n",
      "Generating VG image for PPG signal 1026/52111\n",
      "Generating VG image for PPG signal 1027/52111\n",
      "Generating VG image for PPG signal 1028/52111\n",
      "Generating VG image for PPG signal 1029/52111\n",
      "Generating VG image for PPG signal 1030/52111\n",
      "Generating VG image for PPG signal 1031/52111\n",
      "Generating VG image for PPG signal 1032/52111\n",
      "Generating VG image for PPG signal 1033/52111\n",
      "Generating VG image for PPG signal 1034/52111\n",
      "Generating VG image for PPG signal 1035/52111\n",
      "Generating VG image for PPG signal 1036/52111\n",
      "Generating VG image for PPG signal 1037/52111\n",
      "Generating VG image for PPG signal 1038/52111\n",
      "Generating VG image for PPG signal 1039/52111\n",
      "Generating VG image for PPG signal 1040/52111\n",
      "Generating VG image for PPG signal 1041/52111\n",
      "Generating VG image for PPG signal 1042/52111\n",
      "Generating VG image for PPG signal 1043/52111\n",
      "Generating VG image for PPG signal 1044/52111\n",
      "Generating VG image for PPG signal 1045/52111\n",
      "Generating VG image for PPG signal 1046/52111\n",
      "Generating VG image for PPG signal 1047/52111\n",
      "Generating VG image for PPG signal 1048/52111\n",
      "Generating VG image for PPG signal 1049/52111\n",
      "Generating VG image for PPG signal 1050/52111\n",
      "Generating VG image for PPG signal 1051/52111\n",
      "Generating VG image for PPG signal 1052/52111\n",
      "Generating VG image for PPG signal 1053/52111\n",
      "Generating VG image for PPG signal 1054/52111\n",
      "Generating VG image for PPG signal 1055/52111\n",
      "Generating VG image for PPG signal 1056/52111\n",
      "Generating VG image for PPG signal 1057/52111\n",
      "Generating VG image for PPG signal 1058/52111\n",
      "Generating VG image for PPG signal 1059/52111\n",
      "Generating VG image for PPG signal 1060/52111\n",
      "Generating VG image for PPG signal 1061/52111\n",
      "Generating VG image for PPG signal 1062/52111\n",
      "Generating VG image for PPG signal 1063/52111\n",
      "Generating VG image for PPG signal 1064/52111\n",
      "Generating VG image for PPG signal 1065/52111\n",
      "Generating VG image for PPG signal 1066/52111\n",
      "Generating VG image for PPG signal 1067/52111\n",
      "Generating VG image for PPG signal 1068/52111\n",
      "Generating VG image for PPG signal 1069/52111\n",
      "Generating VG image for PPG signal 1070/52111\n",
      "Generating VG image for PPG signal 1071/52111\n",
      "Generating VG image for PPG signal 1072/52111\n",
      "Generating VG image for PPG signal 1073/52111\n",
      "Generating VG image for PPG signal 1074/52111\n",
      "Generating VG image for PPG signal 1075/52111\n",
      "Generating VG image for PPG signal 1076/52111\n",
      "Generating VG image for PPG signal 1077/52111\n",
      "Generating VG image for PPG signal 1078/52111\n",
      "Generating VG image for PPG signal 1079/52111\n",
      "Generating VG image for PPG signal 1080/52111\n",
      "Generating VG image for PPG signal 1081/52111\n",
      "Generating VG image for PPG signal 1082/52111\n",
      "Generating VG image for PPG signal 1083/52111\n",
      "Generating VG image for PPG signal 1084/52111\n",
      "Generating VG image for PPG signal 1085/52111\n",
      "Generating VG image for PPG signal 1086/52111\n",
      "Generating VG image for PPG signal 1087/52111\n",
      "Generating VG image for PPG signal 1088/52111\n",
      "Generating VG image for PPG signal 1089/52111\n",
      "Generating VG image for PPG signal 1090/52111\n",
      "Generating VG image for PPG signal 1091/52111\n",
      "Generating VG image for PPG signal 1092/52111\n",
      "Generating VG image for PPG signal 1093/52111\n",
      "Generating VG image for PPG signal 1094/52111\n",
      "Generating VG image for PPG signal 1095/52111\n",
      "Generating VG image for PPG signal 1096/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 1097/52111\n",
      "Generating VG image for PPG signal 1098/52111\n",
      "Generating VG image for PPG signal 1099/52111\n",
      "Generating VG image for PPG signal 1100/52111\n",
      "Generating VG image for PPG signal 1101/52111\n",
      "Generating VG image for PPG signal 1102/52111\n",
      "Generating VG image for PPG signal 1103/52111\n",
      "Generating VG image for PPG signal 1104/52111\n",
      "Generating VG image for PPG signal 1105/52111\n",
      "Generating VG image for PPG signal 1106/52111\n",
      "Generating VG image for PPG signal 1107/52111\n",
      "Generating VG image for PPG signal 1108/52111\n",
      "Generating VG image for PPG signal 1109/52111\n",
      "Generating VG image for PPG signal 1110/52111\n",
      "Generating VG image for PPG signal 1111/52111\n",
      "Generating VG image for PPG signal 1112/52111\n",
      "Generating VG image for PPG signal 1113/52111\n",
      "Generating VG image for PPG signal 1114/52111\n",
      "Generating VG image for PPG signal 1115/52111\n",
      "Generating VG image for PPG signal 1116/52111\n",
      "Generating VG image for PPG signal 1117/52111\n",
      "Generating VG image for PPG signal 1118/52111\n",
      "Generating VG image for PPG signal 1119/52111\n",
      "Generating VG image for PPG signal 1120/52111\n",
      "Generating VG image for PPG signal 1121/52111\n",
      "Generating VG image for PPG signal 1122/52111\n",
      "Generating VG image for PPG signal 1123/52111\n",
      "Generating VG image for PPG signal 1124/52111\n",
      "Generating VG image for PPG signal 1125/52111\n",
      "Generating VG image for PPG signal 1126/52111\n",
      "Generating VG image for PPG signal 1127/52111\n",
      "Generating VG image for PPG signal 1128/52111\n",
      "Generating VG image for PPG signal 1129/52111\n",
      "Generating VG image for PPG signal 1130/52111\n",
      "Generating VG image for PPG signal 1131/52111\n",
      "Generating VG image for PPG signal 1132/52111\n",
      "Generating VG image for PPG signal 1133/52111\n",
      "Generating VG image for PPG signal 1134/52111\n",
      "Generating VG image for PPG signal 1135/52111\n",
      "Generating VG image for PPG signal 1136/52111\n",
      "Generating VG image for PPG signal 1137/52111\n",
      "Generating VG image for PPG signal 1138/52111\n",
      "Generating VG image for PPG signal 1139/52111\n",
      "Generating VG image for PPG signal 1140/52111\n",
      "Generating VG image for PPG signal 1141/52111\n",
      "Generating VG image for PPG signal 1142/52111\n",
      "Generating VG image for PPG signal 1143/52111\n",
      "Generating VG image for PPG signal 1144/52111\n",
      "Generating VG image for PPG signal 1145/52111\n",
      "Generating VG image for PPG signal 1146/52111\n",
      "Generating VG image for PPG signal 1147/52111\n",
      "Generating VG image for PPG signal 1148/52111\n",
      "Generating VG image for PPG signal 1149/52111\n",
      "Generating VG image for PPG signal 1150/52111\n",
      "Generating VG image for PPG signal 1151/52111\n",
      "Generating VG image for PPG signal 1152/52111\n",
      "Generating VG image for PPG signal 1153/52111\n",
      "Generating VG image for PPG signal 1154/52111\n",
      "Generating VG image for PPG signal 1155/52111\n",
      "Generating VG image for PPG signal 1156/52111\n",
      "Generating VG image for PPG signal 1157/52111\n",
      "Generating VG image for PPG signal 1158/52111\n",
      "Generating VG image for PPG signal 1159/52111\n",
      "Generating VG image for PPG signal 1160/52111\n",
      "Generating VG image for PPG signal 1161/52111\n",
      "Generating VG image for PPG signal 1162/52111\n",
      "Generating VG image for PPG signal 1163/52111\n",
      "Generating VG image for PPG signal 1164/52111\n",
      "Generating VG image for PPG signal 1165/52111\n",
      "Generating VG image for PPG signal 1166/52111\n",
      "Generating VG image for PPG signal 1167/52111\n",
      "Generating VG image for PPG signal 1168/52111\n",
      "Generating VG image for PPG signal 1169/52111\n",
      "Generating VG image for PPG signal 1170/52111\n",
      "Generating VG image for PPG signal 1171/52111\n",
      "Generating VG image for PPG signal 1172/52111\n",
      "Generating VG image for PPG signal 1173/52111\n",
      "Generating VG image for PPG signal 1174/52111\n",
      "Generating VG image for PPG signal 1175/52111\n",
      "Generating VG image for PPG signal 1176/52111\n",
      "Generating VG image for PPG signal 1177/52111\n",
      "Generating VG image for PPG signal 1178/52111\n",
      "Generating VG image for PPG signal 1179/52111\n",
      "Generating VG image for PPG signal 1180/52111\n",
      "Generating VG image for PPG signal 1181/52111\n",
      "Generating VG image for PPG signal 1182/52111\n",
      "Generating VG image for PPG signal 1183/52111\n",
      "Generating VG image for PPG signal 1184/52111\n",
      "Generating VG image for PPG signal 1185/52111\n",
      "Generating VG image for PPG signal 1186/52111\n",
      "Generating VG image for PPG signal 1187/52111\n",
      "Generating VG image for PPG signal 1188/52111\n",
      "Generating VG image for PPG signal 1189/52111\n",
      "Generating VG image for PPG signal 1190/52111\n",
      "Generating VG image for PPG signal 1191/52111\n",
      "Generating VG image for PPG signal 1192/52111\n",
      "Generating VG image for PPG signal 1193/52111\n",
      "Generating VG image for PPG signal 1194/52111\n",
      "Generating VG image for PPG signal 1195/52111\n",
      "Generating VG image for PPG signal 1196/52111\n",
      "Generating VG image for PPG signal 1197/52111\n",
      "Generating VG image for PPG signal 1198/52111\n",
      "Generating VG image for PPG signal 1199/52111\n",
      "Generating VG image for PPG signal 1200/52111\n",
      "Generating VG image for PPG signal 1201/52111\n",
      "Generating VG image for PPG signal 1202/52111\n",
      "Generating VG image for PPG signal 1203/52111\n",
      "Generating VG image for PPG signal 1204/52111\n",
      "Generating VG image for PPG signal 1205/52111\n",
      "Generating VG image for PPG signal 1206/52111\n",
      "Generating VG image for PPG signal 1207/52111\n",
      "Generating VG image for PPG signal 1208/52111\n",
      "Generating VG image for PPG signal 1209/52111\n",
      "Generating VG image for PPG signal 1210/52111\n",
      "Generating VG image for PPG signal 1211/52111\n",
      "Generating VG image for PPG signal 1212/52111\n",
      "Generating VG image for PPG signal 1213/52111\n",
      "Generating VG image for PPG signal 1214/52111\n",
      "Generating VG image for PPG signal 1215/52111\n",
      "Generating VG image for PPG signal 1216/52111\n",
      "Generating VG image for PPG signal 1217/52111\n",
      "Generating VG image for PPG signal 1218/52111\n",
      "Generating VG image for PPG signal 1219/52111\n",
      "Generating VG image for PPG signal 1220/52111\n",
      "Generating VG image for PPG signal 1221/52111\n",
      "Generating VG image for PPG signal 1222/52111\n",
      "Generating VG image for PPG signal 1223/52111\n",
      "Generating VG image for PPG signal 1224/52111\n",
      "Generating VG image for PPG signal 1225/52111\n",
      "Generating VG image for PPG signal 1226/52111\n",
      "Generating VG image for PPG signal 1227/52111\n",
      "Generating VG image for PPG signal 1228/52111\n",
      "Generating VG image for PPG signal 1229/52111\n",
      "Generating VG image for PPG signal 1230/52111\n",
      "Generating VG image for PPG signal 1231/52111\n",
      "Generating VG image for PPG signal 1232/52111\n",
      "Generating VG image for PPG signal 1233/52111\n",
      "Generating VG image for PPG signal 1234/52111\n",
      "Generating VG image for PPG signal 1235/52111\n",
      "Generating VG image for PPG signal 1236/52111\n",
      "Generating VG image for PPG signal 1237/52111\n",
      "Generating VG image for PPG signal 1238/52111\n",
      "Generating VG image for PPG signal 1239/52111\n",
      "Generating VG image for PPG signal 1240/52111\n",
      "Generating VG image for PPG signal 1241/52111\n",
      "Generating VG image for PPG signal 1242/52111\n",
      "Generating VG image for PPG signal 1243/52111\n",
      "Generating VG image for PPG signal 1244/52111\n",
      "Generating VG image for PPG signal 1245/52111\n",
      "Generating VG image for PPG signal 1246/52111\n",
      "Generating VG image for PPG signal 1247/52111\n",
      "Generating VG image for PPG signal 1248/52111\n",
      "Generating VG image for PPG signal 1249/52111\n",
      "Generating VG image for PPG signal 1250/52111\n",
      "Generating VG image for PPG signal 1251/52111\n",
      "Generating VG image for PPG signal 1252/52111\n",
      "Generating VG image for PPG signal 1253/52111\n",
      "Generating VG image for PPG signal 1254/52111\n",
      "Generating VG image for PPG signal 1255/52111\n",
      "Generating VG image for PPG signal 1256/52111\n",
      "Generating VG image for PPG signal 1257/52111\n",
      "Generating VG image for PPG signal 1258/52111\n",
      "Generating VG image for PPG signal 1259/52111\n",
      "Generating VG image for PPG signal 1260/52111\n",
      "Generating VG image for PPG signal 1261/52111\n",
      "Generating VG image for PPG signal 1262/52111\n",
      "Generating VG image for PPG signal 1263/52111\n",
      "Generating VG image for PPG signal 1264/52111\n",
      "Generating VG image for PPG signal 1265/52111\n",
      "Generating VG image for PPG signal 1266/52111\n",
      "Generating VG image for PPG signal 1267/52111\n",
      "Generating VG image for PPG signal 1268/52111\n",
      "Generating VG image for PPG signal 1269/52111\n",
      "Generating VG image for PPG signal 1270/52111\n",
      "Generating VG image for PPG signal 1271/52111\n",
      "Generating VG image for PPG signal 1272/52111\n",
      "Generating VG image for PPG signal 1273/52111\n",
      "Generating VG image for PPG signal 1274/52111\n",
      "Generating VG image for PPG signal 1275/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 1276/52111\n",
      "Generating VG image for PPG signal 1277/52111\n",
      "Generating VG image for PPG signal 1278/52111\n",
      "Generating VG image for PPG signal 1279/52111\n",
      "Generating VG image for PPG signal 1280/52111\n",
      "Generating VG image for PPG signal 1281/52111\n",
      "Generating VG image for PPG signal 1282/52111\n",
      "Generating VG image for PPG signal 1283/52111\n",
      "Generating VG image for PPG signal 1284/52111\n",
      "Generating VG image for PPG signal 1285/52111\n",
      "Generating VG image for PPG signal 1286/52111\n",
      "Generating VG image for PPG signal 1287/52111\n",
      "Generating VG image for PPG signal 1288/52111\n",
      "Generating VG image for PPG signal 1289/52111\n",
      "Generating VG image for PPG signal 1290/52111\n",
      "Generating VG image for PPG signal 1291/52111\n",
      "Generating VG image for PPG signal 1292/52111\n",
      "Generating VG image for PPG signal 1293/52111\n",
      "Generating VG image for PPG signal 1294/52111\n",
      "Generating VG image for PPG signal 1295/52111\n",
      "Generating VG image for PPG signal 1296/52111\n",
      "Generating VG image for PPG signal 1297/52111\n",
      "Generating VG image for PPG signal 1298/52111\n",
      "Generating VG image for PPG signal 1299/52111\n",
      "Generating VG image for PPG signal 1300/52111\n",
      "Generating VG image for PPG signal 1301/52111\n",
      "Generating VG image for PPG signal 1302/52111\n",
      "Generating VG image for PPG signal 1303/52111\n",
      "Generating VG image for PPG signal 1304/52111\n",
      "Generating VG image for PPG signal 1305/52111\n",
      "Generating VG image for PPG signal 1306/52111\n",
      "Generating VG image for PPG signal 1307/52111\n",
      "Generating VG image for PPG signal 1308/52111\n",
      "Generating VG image for PPG signal 1309/52111\n",
      "Generating VG image for PPG signal 1310/52111\n",
      "Generating VG image for PPG signal 1311/52111\n",
      "Generating VG image for PPG signal 1312/52111\n",
      "Generating VG image for PPG signal 1313/52111\n",
      "Generating VG image for PPG signal 1314/52111\n",
      "Generating VG image for PPG signal 1315/52111\n",
      "Generating VG image for PPG signal 1316/52111\n",
      "Generating VG image for PPG signal 1317/52111\n",
      "Generating VG image for PPG signal 1318/52111\n",
      "Generating VG image for PPG signal 1319/52111\n",
      "Generating VG image for PPG signal 1320/52111\n",
      "Generating VG image for PPG signal 1321/52111\n",
      "Generating VG image for PPG signal 1322/52111\n",
      "Generating VG image for PPG signal 1323/52111\n",
      "Generating VG image for PPG signal 1324/52111\n",
      "Generating VG image for PPG signal 1325/52111\n",
      "Generating VG image for PPG signal 1326/52111\n",
      "Generating VG image for PPG signal 1327/52111\n",
      "Generating VG image for PPG signal 1328/52111\n",
      "Generating VG image for PPG signal 1329/52111\n",
      "Generating VG image for PPG signal 1330/52111\n",
      "Generating VG image for PPG signal 1331/52111\n",
      "Generating VG image for PPG signal 1332/52111\n",
      "Generating VG image for PPG signal 1333/52111\n",
      "Generating VG image for PPG signal 1334/52111\n",
      "Generating VG image for PPG signal 1335/52111\n",
      "Generating VG image for PPG signal 1336/52111\n",
      "Generating VG image for PPG signal 1337/52111\n",
      "Generating VG image for PPG signal 1338/52111\n",
      "Generating VG image for PPG signal 1339/52111\n",
      "Generating VG image for PPG signal 1340/52111\n",
      "Generating VG image for PPG signal 1341/52111\n",
      "Generating VG image for PPG signal 1342/52111\n",
      "Generating VG image for PPG signal 1343/52111\n",
      "Generating VG image for PPG signal 1344/52111\n",
      "Generating VG image for PPG signal 1345/52111\n",
      "Generating VG image for PPG signal 1346/52111\n",
      "Generating VG image for PPG signal 1347/52111\n",
      "Generating VG image for PPG signal 1348/52111\n",
      "Generating VG image for PPG signal 1349/52111\n",
      "Generating VG image for PPG signal 1350/52111\n",
      "Generating VG image for PPG signal 1351/52111\n",
      "Generating VG image for PPG signal 1352/52111\n",
      "Generating VG image for PPG signal 1353/52111\n",
      "Generating VG image for PPG signal 1354/52111\n",
      "Generating VG image for PPG signal 1355/52111\n",
      "Generating VG image for PPG signal 1356/52111\n",
      "Generating VG image for PPG signal 1357/52111\n",
      "Generating VG image for PPG signal 1358/52111\n",
      "Generating VG image for PPG signal 1359/52111\n",
      "Generating VG image for PPG signal 1360/52111\n",
      "Generating VG image for PPG signal 1361/52111\n",
      "Generating VG image for PPG signal 1362/52111\n",
      "Generating VG image for PPG signal 1363/52111\n",
      "Generating VG image for PPG signal 1364/52111\n",
      "Generating VG image for PPG signal 1365/52111\n",
      "Generating VG image for PPG signal 1366/52111\n",
      "Generating VG image for PPG signal 1367/52111\n",
      "Generating VG image for PPG signal 1368/52111\n",
      "Generating VG image for PPG signal 1369/52111\n",
      "Generating VG image for PPG signal 1370/52111\n",
      "Generating VG image for PPG signal 1371/52111\n",
      "Generating VG image for PPG signal 1372/52111\n",
      "Generating VG image for PPG signal 1373/52111\n",
      "Generating VG image for PPG signal 1374/52111\n",
      "Generating VG image for PPG signal 1375/52111\n",
      "Generating VG image for PPG signal 1376/52111\n",
      "Generating VG image for PPG signal 1377/52111\n",
      "Generating VG image for PPG signal 1378/52111\n",
      "Generating VG image for PPG signal 1379/52111\n",
      "Generating VG image for PPG signal 1380/52111\n",
      "Generating VG image for PPG signal 1381/52111\n",
      "Generating VG image for PPG signal 1382/52111\n",
      "Generating VG image for PPG signal 1383/52111\n",
      "Generating VG image for PPG signal 1384/52111\n",
      "Generating VG image for PPG signal 1385/52111\n",
      "Generating VG image for PPG signal 1386/52111\n",
      "Generating VG image for PPG signal 1387/52111\n",
      "Generating VG image for PPG signal 1388/52111\n",
      "Generating VG image for PPG signal 1389/52111\n",
      "Generating VG image for PPG signal 1390/52111\n",
      "Generating VG image for PPG signal 1391/52111\n",
      "Generating VG image for PPG signal 1392/52111\n",
      "Generating VG image for PPG signal 1393/52111\n",
      "Generating VG image for PPG signal 1394/52111\n",
      "Generating VG image for PPG signal 1395/52111\n",
      "Generating VG image for PPG signal 1396/52111\n",
      "Generating VG image for PPG signal 1397/52111\n",
      "Generating VG image for PPG signal 1398/52111\n",
      "Generating VG image for PPG signal 1399/52111\n",
      "Generating VG image for PPG signal 1400/52111\n",
      "Generating VG image for PPG signal 1401/52111\n",
      "Generating VG image for PPG signal 1402/52111\n",
      "Generating VG image for PPG signal 1403/52111\n",
      "Generating VG image for PPG signal 1404/52111\n",
      "Generating VG image for PPG signal 1405/52111\n",
      "Generating VG image for PPG signal 1406/52111\n",
      "Generating VG image for PPG signal 1407/52111\n",
      "Generating VG image for PPG signal 1408/52111\n",
      "Generating VG image for PPG signal 1409/52111\n",
      "Generating VG image for PPG signal 1410/52111\n",
      "Generating VG image for PPG signal 1411/52111\n",
      "Generating VG image for PPG signal 1412/52111\n",
      "Generating VG image for PPG signal 1413/52111\n",
      "Generating VG image for PPG signal 1414/52111\n",
      "Generating VG image for PPG signal 1415/52111\n",
      "Generating VG image for PPG signal 1416/52111\n",
      "Generating VG image for PPG signal 1417/52111\n",
      "Generating VG image for PPG signal 1418/52111\n",
      "Generating VG image for PPG signal 1419/52111\n",
      "Generating VG image for PPG signal 1420/52111\n",
      "Generating VG image for PPG signal 1421/52111\n",
      "Generating VG image for PPG signal 1422/52111\n",
      "Generating VG image for PPG signal 1423/52111\n",
      "Generating VG image for PPG signal 1424/52111\n",
      "Generating VG image for PPG signal 1425/52111\n",
      "Generating VG image for PPG signal 1426/52111\n",
      "Generating VG image for PPG signal 1427/52111\n",
      "Generating VG image for PPG signal 1428/52111\n",
      "Generating VG image for PPG signal 1429/52111\n",
      "Generating VG image for PPG signal 1430/52111\n",
      "Generating VG image for PPG signal 1431/52111\n",
      "Generating VG image for PPG signal 1432/52111\n",
      "Generating VG image for PPG signal 1433/52111\n",
      "Generating VG image for PPG signal 1434/52111\n",
      "Generating VG image for PPG signal 1435/52111\n",
      "Generating VG image for PPG signal 1436/52111\n",
      "Generating VG image for PPG signal 1437/52111\n",
      "Generating VG image for PPG signal 1438/52111\n",
      "Generating VG image for PPG signal 1439/52111\n",
      "Generating VG image for PPG signal 1440/52111\n",
      "Generating VG image for PPG signal 1441/52111\n",
      "Generating VG image for PPG signal 1442/52111\n",
      "Generating VG image for PPG signal 1443/52111\n",
      "Generating VG image for PPG signal 1444/52111\n",
      "Generating VG image for PPG signal 1445/52111\n",
      "Generating VG image for PPG signal 1446/52111\n",
      "Generating VG image for PPG signal 1447/52111\n",
      "Generating VG image for PPG signal 1448/52111\n",
      "Generating VG image for PPG signal 1449/52111\n",
      "Generating VG image for PPG signal 1450/52111\n",
      "Generating VG image for PPG signal 1451/52111\n",
      "Generating VG image for PPG signal 1452/52111\n",
      "Generating VG image for PPG signal 1453/52111\n",
      "Generating VG image for PPG signal 1454/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 1455/52111\n",
      "Generating VG image for PPG signal 1456/52111\n",
      "Generating VG image for PPG signal 1457/52111\n",
      "Generating VG image for PPG signal 1458/52111\n",
      "Generating VG image for PPG signal 1459/52111\n",
      "Generating VG image for PPG signal 1460/52111\n",
      "Generating VG image for PPG signal 1461/52111\n",
      "Generating VG image for PPG signal 1462/52111\n",
      "Generating VG image for PPG signal 1463/52111\n",
      "Generating VG image for PPG signal 1464/52111\n",
      "Generating VG image for PPG signal 1465/52111\n",
      "Generating VG image for PPG signal 1466/52111\n",
      "Generating VG image for PPG signal 1467/52111\n",
      "Generating VG image for PPG signal 1468/52111\n",
      "Generating VG image for PPG signal 1469/52111\n",
      "Generating VG image for PPG signal 1470/52111\n",
      "Generating VG image for PPG signal 1471/52111\n",
      "Generating VG image for PPG signal 1472/52111\n",
      "Generating VG image for PPG signal 1473/52111\n",
      "Generating VG image for PPG signal 1474/52111\n",
      "Generating VG image for PPG signal 1475/52111\n",
      "Generating VG image for PPG signal 1476/52111\n",
      "Generating VG image for PPG signal 1477/52111\n",
      "Generating VG image for PPG signal 1478/52111\n",
      "Generating VG image for PPG signal 1479/52111\n",
      "Generating VG image for PPG signal 1480/52111\n",
      "Generating VG image for PPG signal 1481/52111\n",
      "Generating VG image for PPG signal 1482/52111\n",
      "Generating VG image for PPG signal 1483/52111\n",
      "Generating VG image for PPG signal 1484/52111\n",
      "Generating VG image for PPG signal 1485/52111\n",
      "Generating VG image for PPG signal 1486/52111\n",
      "Generating VG image for PPG signal 1487/52111\n",
      "Generating VG image for PPG signal 1488/52111\n",
      "Generating VG image for PPG signal 1489/52111\n",
      "Generating VG image for PPG signal 1490/52111\n",
      "Generating VG image for PPG signal 1491/52111\n",
      "Generating VG image for PPG signal 1492/52111\n",
      "Generating VG image for PPG signal 1493/52111\n",
      "Generating VG image for PPG signal 1494/52111\n",
      "Generating VG image for PPG signal 1495/52111\n",
      "Generating VG image for PPG signal 1496/52111\n",
      "Generating VG image for PPG signal 1497/52111\n",
      "Generating VG image for PPG signal 1498/52111\n",
      "Generating VG image for PPG signal 1499/52111\n",
      "Generating VG image for PPG signal 1500/52111\n",
      "Generating VG image for PPG signal 1501/52111\n",
      "Generating VG image for PPG signal 1502/52111\n",
      "Generating VG image for PPG signal 1503/52111\n",
      "Generating VG image for PPG signal 1504/52111\n",
      "Generating VG image for PPG signal 1505/52111\n",
      "Generating VG image for PPG signal 1506/52111\n",
      "Generating VG image for PPG signal 1507/52111\n",
      "Generating VG image for PPG signal 1508/52111\n",
      "Generating VG image for PPG signal 1509/52111\n",
      "Generating VG image for PPG signal 1510/52111\n",
      "Generating VG image for PPG signal 1511/52111\n",
      "Generating VG image for PPG signal 1512/52111\n",
      "Generating VG image for PPG signal 1513/52111\n",
      "Generating VG image for PPG signal 1514/52111\n",
      "Generating VG image for PPG signal 1515/52111\n",
      "Generating VG image for PPG signal 1516/52111\n",
      "Generating VG image for PPG signal 1517/52111\n",
      "Generating VG image for PPG signal 1518/52111\n",
      "Generating VG image for PPG signal 1519/52111\n",
      "Generating VG image for PPG signal 1520/52111\n",
      "Generating VG image for PPG signal 1521/52111\n",
      "Generating VG image for PPG signal 1522/52111\n",
      "Generating VG image for PPG signal 1523/52111\n",
      "Generating VG image for PPG signal 1524/52111\n",
      "Generating VG image for PPG signal 1525/52111\n",
      "Generating VG image for PPG signal 1526/52111\n",
      "Generating VG image for PPG signal 1527/52111\n",
      "Generating VG image for PPG signal 1528/52111\n",
      "Generating VG image for PPG signal 1529/52111\n",
      "Generating VG image for PPG signal 1530/52111\n",
      "Generating VG image for PPG signal 1531/52111\n",
      "Generating VG image for PPG signal 1532/52111\n",
      "Generating VG image for PPG signal 1533/52111\n",
      "Generating VG image for PPG signal 1534/52111\n",
      "Generating VG image for PPG signal 1535/52111\n",
      "Generating VG image for PPG signal 1536/52111\n",
      "Generating VG image for PPG signal 1537/52111\n",
      "Generating VG image for PPG signal 1538/52111\n",
      "Generating VG image for PPG signal 1539/52111\n",
      "Generating VG image for PPG signal 1540/52111\n",
      "Generating VG image for PPG signal 1541/52111\n",
      "Generating VG image for PPG signal 1542/52111\n",
      "Generating VG image for PPG signal 1543/52111\n",
      "Generating VG image for PPG signal 1544/52111\n",
      "Generating VG image for PPG signal 1545/52111\n",
      "Generating VG image for PPG signal 1546/52111\n",
      "Generating VG image for PPG signal 1547/52111\n",
      "Generating VG image for PPG signal 1548/52111\n",
      "Generating VG image for PPG signal 1549/52111\n",
      "Generating VG image for PPG signal 1550/52111\n",
      "Generating VG image for PPG signal 1551/52111\n",
      "Generating VG image for PPG signal 1552/52111\n",
      "Generating VG image for PPG signal 1553/52111\n",
      "Generating VG image for PPG signal 1554/52111\n",
      "Generating VG image for PPG signal 1555/52111\n",
      "Generating VG image for PPG signal 1556/52111\n",
      "Generating VG image for PPG signal 1557/52111\n",
      "Generating VG image for PPG signal 1558/52111\n",
      "Generating VG image for PPG signal 1559/52111\n",
      "Generating VG image for PPG signal 1560/52111\n",
      "Generating VG image for PPG signal 1561/52111\n",
      "Generating VG image for PPG signal 1562/52111\n",
      "Generating VG image for PPG signal 1563/52111\n",
      "Generating VG image for PPG signal 1564/52111\n",
      "Generating VG image for PPG signal 1565/52111\n",
      "Generating VG image for PPG signal 1566/52111\n",
      "Generating VG image for PPG signal 1567/52111\n",
      "Generating VG image for PPG signal 1568/52111\n",
      "Generating VG image for PPG signal 1569/52111\n",
      "Generating VG image for PPG signal 1570/52111\n",
      "Generating VG image for PPG signal 1571/52111\n",
      "Generating VG image for PPG signal 1572/52111\n",
      "Generating VG image for PPG signal 1573/52111\n",
      "Generating VG image for PPG signal 1574/52111\n",
      "Generating VG image for PPG signal 1575/52111\n",
      "Generating VG image for PPG signal 1576/52111\n",
      "Generating VG image for PPG signal 1577/52111\n",
      "Generating VG image for PPG signal 1578/52111\n",
      "Generating VG image for PPG signal 1579/52111\n",
      "Generating VG image for PPG signal 1580/52111\n",
      "Generating VG image for PPG signal 1581/52111\n",
      "Generating VG image for PPG signal 1582/52111\n",
      "Generating VG image for PPG signal 1583/52111\n",
      "Generating VG image for PPG signal 1584/52111\n",
      "Generating VG image for PPG signal 1585/52111\n",
      "Generating VG image for PPG signal 1586/52111\n",
      "Generating VG image for PPG signal 1587/52111\n",
      "Generating VG image for PPG signal 1588/52111\n",
      "Generating VG image for PPG signal 1589/52111\n",
      "Generating VG image for PPG signal 1590/52111\n",
      "Generating VG image for PPG signal 1591/52111\n",
      "Generating VG image for PPG signal 1592/52111\n",
      "Generating VG image for PPG signal 1593/52111\n",
      "Generating VG image for PPG signal 1594/52111\n",
      "Generating VG image for PPG signal 1595/52111\n",
      "Generating VG image for PPG signal 1596/52111\n",
      "Generating VG image for PPG signal 1597/52111\n",
      "Generating VG image for PPG signal 1598/52111\n",
      "Generating VG image for PPG signal 1599/52111\n",
      "Generating VG image for PPG signal 1600/52111\n",
      "Generating VG image for PPG signal 1601/52111\n",
      "Generating VG image for PPG signal 1602/52111\n",
      "Generating VG image for PPG signal 1603/52111\n",
      "Generating VG image for PPG signal 1604/52111\n",
      "Generating VG image for PPG signal 1605/52111\n",
      "Generating VG image for PPG signal 1606/52111\n",
      "Generating VG image for PPG signal 1607/52111\n",
      "Generating VG image for PPG signal 1608/52111\n",
      "Generating VG image for PPG signal 1609/52111\n",
      "Generating VG image for PPG signal 1610/52111\n",
      "Generating VG image for PPG signal 1611/52111\n",
      "Generating VG image for PPG signal 1612/52111\n",
      "Generating VG image for PPG signal 1613/52111\n",
      "Generating VG image for PPG signal 1614/52111\n",
      "Generating VG image for PPG signal 1615/52111\n",
      "Generating VG image for PPG signal 1616/52111\n",
      "Generating VG image for PPG signal 1617/52111\n",
      "Generating VG image for PPG signal 1618/52111\n",
      "Generating VG image for PPG signal 1619/52111\n",
      "Generating VG image for PPG signal 1620/52111\n",
      "Generating VG image for PPG signal 1621/52111\n",
      "Generating VG image for PPG signal 1622/52111\n",
      "Generating VG image for PPG signal 1623/52111\n",
      "Generating VG image for PPG signal 1624/52111\n",
      "Generating VG image for PPG signal 1625/52111\n",
      "Generating VG image for PPG signal 1626/52111\n",
      "Generating VG image for PPG signal 1627/52111\n",
      "Generating VG image for PPG signal 1628/52111\n",
      "Generating VG image for PPG signal 1629/52111\n",
      "Generating VG image for PPG signal 1630/52111\n",
      "Generating VG image for PPG signal 1631/52111\n",
      "Generating VG image for PPG signal 1632/52111\n",
      "Generating VG image for PPG signal 1633/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 1634/52111\n",
      "Generating VG image for PPG signal 1635/52111\n",
      "Generating VG image for PPG signal 1636/52111\n",
      "Generating VG image for PPG signal 1637/52111\n",
      "Generating VG image for PPG signal 1638/52111\n",
      "Generating VG image for PPG signal 1639/52111\n",
      "Generating VG image for PPG signal 1640/52111\n",
      "Generating VG image for PPG signal 1641/52111\n",
      "Generating VG image for PPG signal 1642/52111\n",
      "Generating VG image for PPG signal 1643/52111\n",
      "Generating VG image for PPG signal 1644/52111\n",
      "Generating VG image for PPG signal 1645/52111\n",
      "Generating VG image for PPG signal 1646/52111\n",
      "Generating VG image for PPG signal 1647/52111\n",
      "Generating VG image for PPG signal 1648/52111\n",
      "Generating VG image for PPG signal 1649/52111\n",
      "Generating VG image for PPG signal 1650/52111\n",
      "Generating VG image for PPG signal 1651/52111\n",
      "Generating VG image for PPG signal 1652/52111\n",
      "Generating VG image for PPG signal 1653/52111\n",
      "Generating VG image for PPG signal 1654/52111\n",
      "Generating VG image for PPG signal 1655/52111\n",
      "Generating VG image for PPG signal 1656/52111\n",
      "Generating VG image for PPG signal 1657/52111\n",
      "Generating VG image for PPG signal 1658/52111\n",
      "Generating VG image for PPG signal 1659/52111\n",
      "Generating VG image for PPG signal 1660/52111\n",
      "Generating VG image for PPG signal 1661/52111\n",
      "Generating VG image for PPG signal 1662/52111\n",
      "Generating VG image for PPG signal 1663/52111\n",
      "Generating VG image for PPG signal 1664/52111\n",
      "Generating VG image for PPG signal 1665/52111\n",
      "Generating VG image for PPG signal 1666/52111\n",
      "Generating VG image for PPG signal 1667/52111\n",
      "Generating VG image for PPG signal 1668/52111\n",
      "Generating VG image for PPG signal 1669/52111\n",
      "Generating VG image for PPG signal 1670/52111\n",
      "Generating VG image for PPG signal 1671/52111\n",
      "Generating VG image for PPG signal 1672/52111\n",
      "Generating VG image for PPG signal 1673/52111\n",
      "Generating VG image for PPG signal 1674/52111\n",
      "Generating VG image for PPG signal 1675/52111\n",
      "Generating VG image for PPG signal 1676/52111\n",
      "Generating VG image for PPG signal 1677/52111\n",
      "Generating VG image for PPG signal 1678/52111\n",
      "Generating VG image for PPG signal 1679/52111\n",
      "Generating VG image for PPG signal 1680/52111\n",
      "Generating VG image for PPG signal 1681/52111\n",
      "Generating VG image for PPG signal 1682/52111\n",
      "Generating VG image for PPG signal 1683/52111\n",
      "Generating VG image for PPG signal 1684/52111\n",
      "Generating VG image for PPG signal 1685/52111\n",
      "Generating VG image for PPG signal 1686/52111\n",
      "Generating VG image for PPG signal 1687/52111\n",
      "Generating VG image for PPG signal 1688/52111\n",
      "Generating VG image for PPG signal 1689/52111\n",
      "Generating VG image for PPG signal 1690/52111\n",
      "Generating VG image for PPG signal 1691/52111\n",
      "Generating VG image for PPG signal 1692/52111\n",
      "Generating VG image for PPG signal 1693/52111\n",
      "Generating VG image for PPG signal 1694/52111\n",
      "Generating VG image for PPG signal 1695/52111\n",
      "Generating VG image for PPG signal 1696/52111\n",
      "Generating VG image for PPG signal 1697/52111\n",
      "Generating VG image for PPG signal 1698/52111\n",
      "Generating VG image for PPG signal 1699/52111\n",
      "Generating VG image for PPG signal 1700/52111\n",
      "Generating VG image for PPG signal 1701/52111\n",
      "Generating VG image for PPG signal 1702/52111\n",
      "Generating VG image for PPG signal 1703/52111\n",
      "Generating VG image for PPG signal 1704/52111\n",
      "Generating VG image for PPG signal 1705/52111\n",
      "Generating VG image for PPG signal 1706/52111\n",
      "Generating VG image for PPG signal 1707/52111\n",
      "Generating VG image for PPG signal 1708/52111\n",
      "Generating VG image for PPG signal 1709/52111\n",
      "Generating VG image for PPG signal 1710/52111\n",
      "Generating VG image for PPG signal 1711/52111\n",
      "Generating VG image for PPG signal 1712/52111\n",
      "Generating VG image for PPG signal 1713/52111\n",
      "Generating VG image for PPG signal 1714/52111\n",
      "Generating VG image for PPG signal 1715/52111\n",
      "Generating VG image for PPG signal 1716/52111\n",
      "Generating VG image for PPG signal 1717/52111\n",
      "Generating VG image for PPG signal 1718/52111\n",
      "Generating VG image for PPG signal 1719/52111\n",
      "Generating VG image for PPG signal 1720/52111\n",
      "Generating VG image for PPG signal 1721/52111\n",
      "Generating VG image for PPG signal 1722/52111\n",
      "Generating VG image for PPG signal 1723/52111\n",
      "Generating VG image for PPG signal 1724/52111\n",
      "Generating VG image for PPG signal 1725/52111\n",
      "Generating VG image for PPG signal 1726/52111\n",
      "Generating VG image for PPG signal 1727/52111\n",
      "Generating VG image for PPG signal 1728/52111\n",
      "Generating VG image for PPG signal 1729/52111\n",
      "Generating VG image for PPG signal 1730/52111\n",
      "Generating VG image for PPG signal 1731/52111\n",
      "Generating VG image for PPG signal 1732/52111\n",
      "Generating VG image for PPG signal 1733/52111\n",
      "Generating VG image for PPG signal 1734/52111\n",
      "Generating VG image for PPG signal 1735/52111\n",
      "Generating VG image for PPG signal 1736/52111\n",
      "Generating VG image for PPG signal 1737/52111\n",
      "Generating VG image for PPG signal 1738/52111\n",
      "Generating VG image for PPG signal 1739/52111\n",
      "Generating VG image for PPG signal 1740/52111\n",
      "Generating VG image for PPG signal 1741/52111\n",
      "Generating VG image for PPG signal 1742/52111\n",
      "Generating VG image for PPG signal 1743/52111\n",
      "Generating VG image for PPG signal 1744/52111\n",
      "Generating VG image for PPG signal 1745/52111\n",
      "Generating VG image for PPG signal 1746/52111\n",
      "Generating VG image for PPG signal 1747/52111\n",
      "Generating VG image for PPG signal 1748/52111\n",
      "Generating VG image for PPG signal 1749/52111\n",
      "Generating VG image for PPG signal 1750/52111\n",
      "Generating VG image for PPG signal 1751/52111\n",
      "Generating VG image for PPG signal 1752/52111\n",
      "Generating VG image for PPG signal 1753/52111\n",
      "Generating VG image for PPG signal 1754/52111\n",
      "Generating VG image for PPG signal 1755/52111\n",
      "Generating VG image for PPG signal 1756/52111\n",
      "Generating VG image for PPG signal 1757/52111\n",
      "Generating VG image for PPG signal 1758/52111\n",
      "Generating VG image for PPG signal 1759/52111\n",
      "Generating VG image for PPG signal 1760/52111\n",
      "Generating VG image for PPG signal 1761/52111\n",
      "Generating VG image for PPG signal 1762/52111\n",
      "Generating VG image for PPG signal 1763/52111\n",
      "Generating VG image for PPG signal 1764/52111\n",
      "Generating VG image for PPG signal 1765/52111\n",
      "Generating VG image for PPG signal 1766/52111\n",
      "Generating VG image for PPG signal 1767/52111\n",
      "Generating VG image for PPG signal 1768/52111\n",
      "Generating VG image for PPG signal 1769/52111\n",
      "Generating VG image for PPG signal 1770/52111\n",
      "Generating VG image for PPG signal 1771/52111\n",
      "Generating VG image for PPG signal 1772/52111\n",
      "Generating VG image for PPG signal 1773/52111\n",
      "Generating VG image for PPG signal 1774/52111\n",
      "Generating VG image for PPG signal 1775/52111\n",
      "Generating VG image for PPG signal 1776/52111\n",
      "Generating VG image for PPG signal 1777/52111\n",
      "Generating VG image for PPG signal 1778/52111\n",
      "Generating VG image for PPG signal 1779/52111\n",
      "Generating VG image for PPG signal 1780/52111\n",
      "Generating VG image for PPG signal 1781/52111\n",
      "Generating VG image for PPG signal 1782/52111\n",
      "Generating VG image for PPG signal 1783/52111\n",
      "Generating VG image for PPG signal 1784/52111\n",
      "Generating VG image for PPG signal 1785/52111\n",
      "Generating VG image for PPG signal 1786/52111\n",
      "Generating VG image for PPG signal 1787/52111\n",
      "Generating VG image for PPG signal 1788/52111\n",
      "Generating VG image for PPG signal 1789/52111\n",
      "Generating VG image for PPG signal 1790/52111\n",
      "Generating VG image for PPG signal 1791/52111\n",
      "Generating VG image for PPG signal 1792/52111\n",
      "Generating VG image for PPG signal 1793/52111\n",
      "Generating VG image for PPG signal 1794/52111\n",
      "Generating VG image for PPG signal 1795/52111\n",
      "Generating VG image for PPG signal 1796/52111\n",
      "Generating VG image for PPG signal 1797/52111\n",
      "Generating VG image for PPG signal 1798/52111\n",
      "Generating VG image for PPG signal 1799/52111\n",
      "Generating VG image for PPG signal 1800/52111\n",
      "Generating VG image for PPG signal 1801/52111\n",
      "Generating VG image for PPG signal 1802/52111\n",
      "Generating VG image for PPG signal 1803/52111\n",
      "Generating VG image for PPG signal 1804/52111\n",
      "Generating VG image for PPG signal 1805/52111\n",
      "Generating VG image for PPG signal 1806/52111\n",
      "Generating VG image for PPG signal 1807/52111\n",
      "Generating VG image for PPG signal 1808/52111\n",
      "Generating VG image for PPG signal 1809/52111\n",
      "Generating VG image for PPG signal 1810/52111\n",
      "Generating VG image for PPG signal 1811/52111\n",
      "Generating VG image for PPG signal 1812/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 1813/52111\n",
      "Generating VG image for PPG signal 1814/52111\n",
      "Generating VG image for PPG signal 1815/52111\n",
      "Generating VG image for PPG signal 1816/52111\n",
      "Generating VG image for PPG signal 1817/52111\n",
      "Generating VG image for PPG signal 1818/52111\n",
      "Generating VG image for PPG signal 1819/52111\n",
      "Generating VG image for PPG signal 1820/52111\n",
      "Generating VG image for PPG signal 1821/52111\n",
      "Generating VG image for PPG signal 1822/52111\n",
      "Generating VG image for PPG signal 1823/52111\n",
      "Generating VG image for PPG signal 1824/52111\n",
      "Generating VG image for PPG signal 1825/52111\n",
      "Generating VG image for PPG signal 1826/52111\n",
      "Generating VG image for PPG signal 1827/52111\n",
      "Generating VG image for PPG signal 1828/52111\n",
      "Generating VG image for PPG signal 1829/52111\n",
      "Generating VG image for PPG signal 1830/52111\n",
      "Generating VG image for PPG signal 1831/52111\n",
      "Generating VG image for PPG signal 1832/52111\n",
      "Generating VG image for PPG signal 1833/52111\n",
      "Generating VG image for PPG signal 1834/52111\n",
      "Generating VG image for PPG signal 1835/52111\n",
      "Generating VG image for PPG signal 1836/52111\n",
      "Generating VG image for PPG signal 1837/52111\n",
      "Generating VG image for PPG signal 1838/52111\n",
      "Generating VG image for PPG signal 1839/52111\n",
      "Generating VG image for PPG signal 1840/52111\n",
      "Generating VG image for PPG signal 1841/52111\n",
      "Generating VG image for PPG signal 1842/52111\n",
      "Generating VG image for PPG signal 1843/52111\n",
      "Generating VG image for PPG signal 1844/52111\n",
      "Generating VG image for PPG signal 1845/52111\n",
      "Generating VG image for PPG signal 1846/52111\n",
      "Generating VG image for PPG signal 1847/52111\n",
      "Generating VG image for PPG signal 1848/52111\n",
      "Generating VG image for PPG signal 1849/52111\n",
      "Generating VG image for PPG signal 1850/52111\n",
      "Generating VG image for PPG signal 1851/52111\n",
      "Generating VG image for PPG signal 1852/52111\n",
      "Generating VG image for PPG signal 1853/52111\n",
      "Generating VG image for PPG signal 1854/52111\n",
      "Generating VG image for PPG signal 1855/52111\n",
      "Generating VG image for PPG signal 1856/52111\n",
      "Generating VG image for PPG signal 1857/52111\n",
      "Generating VG image for PPG signal 1858/52111\n",
      "Generating VG image for PPG signal 1859/52111\n",
      "Generating VG image for PPG signal 1860/52111\n",
      "Generating VG image for PPG signal 1861/52111\n",
      "Generating VG image for PPG signal 1862/52111\n",
      "Generating VG image for PPG signal 1863/52111\n",
      "Generating VG image for PPG signal 1864/52111\n",
      "Generating VG image for PPG signal 1865/52111\n",
      "Generating VG image for PPG signal 1866/52111\n",
      "Generating VG image for PPG signal 1867/52111\n",
      "Generating VG image for PPG signal 1868/52111\n",
      "Generating VG image for PPG signal 1869/52111\n",
      "Generating VG image for PPG signal 1870/52111\n",
      "Generating VG image for PPG signal 1871/52111\n",
      "Generating VG image for PPG signal 1872/52111\n",
      "Generating VG image for PPG signal 1873/52111\n",
      "Generating VG image for PPG signal 1874/52111\n",
      "Generating VG image for PPG signal 1875/52111\n",
      "Generating VG image for PPG signal 1876/52111\n",
      "Generating VG image for PPG signal 1877/52111\n",
      "Generating VG image for PPG signal 1878/52111\n",
      "Generating VG image for PPG signal 1879/52111\n",
      "Generating VG image for PPG signal 1880/52111\n",
      "Generating VG image for PPG signal 1881/52111\n",
      "Generating VG image for PPG signal 1882/52111\n",
      "Generating VG image for PPG signal 1883/52111\n",
      "Generating VG image for PPG signal 1884/52111\n",
      "Generating VG image for PPG signal 1885/52111\n",
      "Generating VG image for PPG signal 1886/52111\n",
      "Generating VG image for PPG signal 1887/52111\n",
      "Generating VG image for PPG signal 1888/52111\n",
      "Generating VG image for PPG signal 1889/52111\n",
      "Generating VG image for PPG signal 1890/52111\n",
      "Generating VG image for PPG signal 1891/52111\n",
      "Generating VG image for PPG signal 1892/52111\n",
      "Generating VG image for PPG signal 1893/52111\n",
      "Generating VG image for PPG signal 1894/52111\n",
      "Generating VG image for PPG signal 1895/52111\n",
      "Generating VG image for PPG signal 1896/52111\n",
      "Generating VG image for PPG signal 1897/52111\n",
      "Generating VG image for PPG signal 1898/52111\n",
      "Generating VG image for PPG signal 1899/52111\n",
      "Generating VG image for PPG signal 1900/52111\n",
      "Generating VG image for PPG signal 1901/52111\n",
      "Generating VG image for PPG signal 1902/52111\n",
      "Generating VG image for PPG signal 1903/52111\n",
      "Generating VG image for PPG signal 1904/52111\n",
      "Generating VG image for PPG signal 1905/52111\n",
      "Generating VG image for PPG signal 1906/52111\n",
      "Generating VG image for PPG signal 1907/52111\n",
      "Generating VG image for PPG signal 1908/52111\n",
      "Generating VG image for PPG signal 1909/52111\n",
      "Generating VG image for PPG signal 1910/52111\n",
      "Generating VG image for PPG signal 1911/52111\n",
      "Generating VG image for PPG signal 1912/52111\n",
      "Generating VG image for PPG signal 1913/52111\n",
      "Generating VG image for PPG signal 1914/52111\n",
      "Generating VG image for PPG signal 1915/52111\n",
      "Generating VG image for PPG signal 1916/52111\n",
      "Generating VG image for PPG signal 1917/52111\n",
      "Generating VG image for PPG signal 1918/52111\n",
      "Generating VG image for PPG signal 1919/52111\n",
      "Generating VG image for PPG signal 1920/52111\n",
      "Generating VG image for PPG signal 1921/52111\n",
      "Generating VG image for PPG signal 1922/52111\n",
      "Generating VG image for PPG signal 1923/52111\n",
      "Generating VG image for PPG signal 1924/52111\n",
      "Generating VG image for PPG signal 1925/52111\n",
      "Generating VG image for PPG signal 1926/52111\n",
      "Generating VG image for PPG signal 1927/52111\n",
      "Generating VG image for PPG signal 1928/52111\n",
      "Generating VG image for PPG signal 1929/52111\n",
      "Generating VG image for PPG signal 1930/52111\n",
      "Generating VG image for PPG signal 1931/52111\n",
      "Generating VG image for PPG signal 1932/52111\n",
      "Generating VG image for PPG signal 1933/52111\n",
      "Generating VG image for PPG signal 1934/52111\n",
      "Generating VG image for PPG signal 1935/52111\n",
      "Generating VG image for PPG signal 1936/52111\n",
      "Generating VG image for PPG signal 1937/52111\n",
      "Generating VG image for PPG signal 1938/52111\n",
      "Generating VG image for PPG signal 1939/52111\n",
      "Generating VG image for PPG signal 1940/52111\n",
      "Generating VG image for PPG signal 1941/52111\n",
      "Generating VG image for PPG signal 1942/52111\n",
      "Generating VG image for PPG signal 1943/52111\n",
      "Generating VG image for PPG signal 1944/52111\n",
      "Generating VG image for PPG signal 1945/52111\n",
      "Generating VG image for PPG signal 1946/52111\n",
      "Generating VG image for PPG signal 1947/52111\n",
      "Generating VG image for PPG signal 1948/52111\n",
      "Generating VG image for PPG signal 1949/52111\n",
      "Generating VG image for PPG signal 1950/52111\n",
      "Generating VG image for PPG signal 1951/52111\n",
      "Generating VG image for PPG signal 1952/52111\n",
      "Generating VG image for PPG signal 1953/52111\n",
      "Generating VG image for PPG signal 1954/52111\n",
      "Generating VG image for PPG signal 1955/52111\n",
      "Generating VG image for PPG signal 1956/52111\n",
      "Generating VG image for PPG signal 1957/52111\n",
      "Generating VG image for PPG signal 1958/52111\n",
      "Generating VG image for PPG signal 1959/52111\n",
      "Generating VG image for PPG signal 1960/52111\n",
      "Generating VG image for PPG signal 1961/52111\n",
      "Generating VG image for PPG signal 1962/52111\n",
      "Generating VG image for PPG signal 1963/52111\n",
      "Generating VG image for PPG signal 1964/52111\n",
      "Generating VG image for PPG signal 1965/52111\n",
      "Generating VG image for PPG signal 1966/52111\n",
      "Generating VG image for PPG signal 1967/52111\n",
      "Generating VG image for PPG signal 1968/52111\n",
      "Generating VG image for PPG signal 1969/52111\n",
      "Generating VG image for PPG signal 1970/52111\n",
      "Generating VG image for PPG signal 1971/52111\n",
      "Generating VG image for PPG signal 1972/52111\n",
      "Generating VG image for PPG signal 1973/52111\n",
      "Generating VG image for PPG signal 1974/52111\n",
      "Generating VG image for PPG signal 1975/52111\n",
      "Generating VG image for PPG signal 1976/52111\n",
      "Generating VG image for PPG signal 1977/52111\n",
      "Generating VG image for PPG signal 1978/52111\n",
      "Generating VG image for PPG signal 1979/52111\n",
      "Generating VG image for PPG signal 1980/52111\n",
      "Generating VG image for PPG signal 1981/52111\n",
      "Generating VG image for PPG signal 1982/52111\n",
      "Generating VG image for PPG signal 1983/52111\n",
      "Generating VG image for PPG signal 1984/52111\n",
      "Generating VG image for PPG signal 1985/52111\n",
      "Generating VG image for PPG signal 1986/52111\n",
      "Generating VG image for PPG signal 1987/52111\n",
      "Generating VG image for PPG signal 1988/52111\n",
      "Generating VG image for PPG signal 1989/52111\n",
      "Generating VG image for PPG signal 1990/52111\n",
      "Generating VG image for PPG signal 1991/52111\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating VG image for PPG signal 1992/52111\n",
      "Generating VG image for PPG signal 1993/52111\n",
      "Generating VG image for PPG signal 1994/52111\n",
      "Generating VG image for PPG signal 1995/52111\n",
      "Generating VG image for PPG signal 1996/52111\n",
      "Generating VG image for PPG signal 1997/52111\n",
      "Generating VG image for PPG signal 1998/52111\n",
      "Generating VG image for PPG signal 1999/52111\n",
      "Generating VG image for PPG signal 2000/52111\n",
      "Generating VG image for PPG signal 2001/52111\n",
      "Generating VG image for PPG signal 2002/52111\n",
      "Generating VG image for PPG signal 2003/52111\n",
      "Generating VG image for PPG signal 2004/52111\n",
      "Generating VG image for PPG signal 2005/52111\n",
      "Generating VG image for PPG signal 2006/52111\n",
      "Generating VG image for PPG signal 2007/52111\n",
      "Generating VG image for PPG signal 2008/52111\n",
      "Generating VG image for PPG signal 2009/52111\n",
      "Generating VG image for PPG signal 2010/52111\n",
      "Generating VG image for PPG signal 2011/52111\n",
      "Generating VG image for PPG signal 2012/52111\n",
      "Generating VG image for PPG signal 2013/52111\n",
      "Generating VG image for PPG signal 2014/52111\n",
      "Generating VG image for PPG signal 2015/52111\n",
      "Generating VG image for PPG signal 2016/52111\n",
      "Generating VG image for PPG signal 2017/52111\n",
      "Generating VG image for PPG signal 2018/52111\n",
      "Generating VG image for PPG signal 2019/52111\n",
      "Generating VG image for PPG signal 2020/52111\n",
      "Generating VG image for PPG signal 2021/52111\n",
      "Generating VG image for PPG signal 2022/52111\n",
      "Generating VG image for PPG signal 2023/52111\n",
      "Generating VG image for PPG signal 2024/52111\n",
      "Generating VG image for PPG signal 2025/52111\n",
      "Generating VG image for PPG signal 2026/52111\n",
      "Generating VG image for PPG signal 2027/52111\n",
      "Generating VG image for PPG signal 2028/52111\n",
      "Generating VG image for PPG signal 2029/52111\n",
      "Generating VG image for PPG signal 2030/52111\n",
      "Generating VG image for PPG signal 2031/52111\n",
      "Generating VG image for PPG signal 2032/52111\n",
      "Generating VG image for PPG signal 2033/52111\n",
      "Generating VG image for PPG signal 2034/52111\n",
      "Generating VG image for PPG signal 2035/52111\n",
      "Generating VG image for PPG signal 2036/52111\n",
      "Generating VG image for PPG signal 2037/52111\n",
      "Generating VG image for PPG signal 2038/52111\n",
      "Generating VG image for PPG signal 2039/52111\n",
      "Generating VG image for PPG signal 2040/52111\n",
      "Generating VG image for PPG signal 2041/52111\n",
      "Generating VG image for PPG signal 2042/52111\n",
      "Generating VG image for PPG signal 2043/52111\n",
      "Generating VG image for PPG signal 2044/52111\n",
      "Generating VG image for PPG signal 2045/52111\n",
      "Generating VG image for PPG signal 2046/52111\n",
      "Generating VG image for PPG signal 2047/52111\n",
      "Generating VG image for PPG signal 2048/52111\n",
      "Generating VG image for PPG signal 2049/52111\n",
      "Generating VG image for PPG signal 2050/52111\n",
      "Generating VG image for PPG signal 2051/52111\n",
      "Generating VG image for PPG signal 2052/52111\n",
      "Generating VG image for PPG signal 2053/52111\n",
      "Generating VG image for PPG signal 2054/52111\n",
      "Generating VG image for PPG signal 2055/52111\n",
      "Generating VG image for PPG signal 2056/52111\n",
      "Generating VG image for PPG signal 2057/52111\n",
      "Generating VG image for PPG signal 2058/52111\n",
      "Generating VG image for PPG signal 2059/52111\n",
      "Generating VG image for PPG signal 2060/52111\n",
      "Generating VG image for PPG signal 2061/52111\n",
      "Generating VG image for PPG signal 2062/52111\n",
      "Generating VG image for PPG signal 2063/52111\n",
      "Generating VG image for PPG signal 2064/52111\n",
      "Generating VG image for PPG signal 2065/52111\n",
      "Generating VG image for PPG signal 2066/52111\n",
      "Generating VG image for PPG signal 2067/52111\n",
      "Generating VG image for PPG signal 2068/52111\n",
      "Generating VG image for PPG signal 2069/52111\n",
      "Generating VG image for PPG signal 2070/52111\n",
      "Generating VG image for PPG signal 2071/52111\n",
      "Generating VG image for PPG signal 2072/52111\n",
      "Generating VG image for PPG signal 2073/52111\n",
      "Generating VG image for PPG signal 2074/52111\n",
      "Generating VG image for PPG signal 2075/52111\n",
      "Generating VG image for PPG signal 2076/52111\n",
      "Generating VG image for PPG signal 2077/52111\n",
      "Generating VG image for PPG signal 2078/52111\n",
      "Generating VG image for PPG signal 2079/52111\n",
      "Generating VG image for PPG signal 2080/52111\n",
      "Generating VG image for PPG signal 2081/52111\n",
      "Generating VG image for PPG signal 2082/52111\n",
      "Generating VG image for PPG signal 2083/52111\n",
      "Generating VG image for PPG signal 2084/52111\n",
      "Generating VG image for PPG signal 2085/52111\n",
      "Generating VG image for PPG signal 2086/52111\n"
     ]
    }
   ],
   "source": [
    "process_directory(val_data_generator, output_dirs['validation'], image_size=(224, 224))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "d62fd459",
   "metadata": {},
   "outputs": [],
   "source": [
    "process_directory(test_data_generator, output_dirs['test'], image_size=(224, 224))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "18f2b67f",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4347ce73",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "96e66025",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "from scipy.signal import butter, filtfilt\n",
    "import networkx as nx\n",
    "from scipy.ndimage import zoom\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def load_and_validate_data(file_path):\n",
    "    \"\"\"\n",
    "    Load data from a file and validate its presence.\n",
    "    Return None if data is invalid or shapes are inconsistent.\n",
    "    \"\"\"\n",
    "    try:\n",
    "        loaded_data = np.load(file_path)\n",
    "        \n",
    "        # Extract data\n",
    "        ppg_f = loaded_data.get('ppg_f')\n",
    "        ecg_f = loaded_data.get('ecg_f')\n",
    "        seg_dbp = loaded_data.get('seg_dbp')\n",
    "        seg_sbp = loaded_data.get('seg_sbp')\n",
    "        \n",
    "        # Check if all required data is present and non-null\n",
    "        if ppg_f is None or ecg_f is None or seg_dbp is None or seg_sbp is None:\n",
    "            return None\n",
    "        \n",
    "        # Check for empty data\n",
    "        if ppg_f.size == 0 or ecg_f.size == 0 or seg_dbp.size == 0 or seg_sbp.size == 0:\n",
    "            return None\n",
    "\n",
    "        return ppg_f, ecg_f, seg_dbp, seg_sbp\n",
    "    \n",
    "    except Exception as e:\n",
    "        print(f\"Error loading {file_path}: {e}\")\n",
    "        return None\n",
    "\n",
    "def bandpass_filter(data, lowcut, highcut, fs, order=5):\n",
    "    \"\"\"\n",
    "    Apply a bandpass filter to the data.\n",
    "    \"\"\"\n",
    "    nyquist = 0.5 * fs\n",
    "    low = lowcut / nyquist\n",
    "    high = highcut / nyquist\n",
    "    b, a = butter(order, [low, high], btype='band')\n",
    "    return filtfilt(b, a, data)\n",
    "\n",
    "def preprocess_signal(signal, fs):\n",
    "    \"\"\"\n",
    "    Preprocess the signal by bandpass filtering and normalization.\n",
    "    \"\"\"\n",
    "    filtered_signal = bandpass_filter(signal, 0.5, 40, fs)\n",
    "    normalized_signal = (filtered_signal - np.mean(filtered_signal)) / np.std(filtered_signal)\n",
    "    return normalized_signal\n",
    "\n",
    "def create_visibility_graph(ppg_signal):\n",
    "    n = len(ppg_signal)\n",
    "    G = nx.Graph()\n",
    "    G.add_nodes_from(range(n))\n",
    "\n",
    "    for i in range(n):\n",
    "        for j in range(i + 1, n):\n",
    "            visible = True\n",
    "            for k in range(i + 1, j):\n",
    "                if ppg_signal[k] >= ppg_signal[i] + (ppg_signal[j] - ppg_signal[i]) * (k - i) / (j - i):\n",
    "                    visible = False\n",
    "                    break\n",
    "            if visible:\n",
    "                G.add_edge(i, j)\n",
    "                \n",
    "    return G\n",
    "\n",
    "def graph_to_adjacency_matrix_image(G, size):\n",
    "    adj_matrix = nx.to_numpy_array(G)\n",
    "    adj_matrix_resized = zoom(adj_matrix, (size / adj_matrix.shape[0], size / adj_matrix.shape[1]), order=0)\n",
    "    return adj_matrix_resized\n",
    "\n",
    "def graph_to_flattened_adjacency_matrix(G, size):\n",
    "    adj_matrix = nx.to_numpy_array(G)\n",
    "    adj_matrix_resized = zoom(adj_matrix, (size / adj_matrix.shape[0], size / adj_matrix.shape[1]), order=0)\n",
    "    flattened_adj = adj_matrix_resized.flatten()\n",
    "    return flattened_adj[:size * size]  # Ensure it's the correct size\n",
    "\n",
    "def generate_vg_image(ppg_signal, size):\n",
    "    G = create_visibility_graph(ppg_signal)\n",
    "    vg_image = graph_to_adjacency_matrix_image(G, size)\n",
    "    return vg_image\n",
    "\n",
    "def plot_vg_images(vg_images):\n",
    "    plt.figure(figsize=(10, 10))\n",
    "    num_images = len(vg_images)\n",
    "    for i in range(num_images):\n",
    "        plt.subplot(1, num_images, i + 1)\n",
    "        plt.imshow(vg_images[i], cmap='gray')\n",
    "        plt.axis('off')\n",
    "    plt.show()\n",
    "    \n",
    "def combine_data_from_folder(folder_path , batch_size=500):\n",
    "    \"\"\"\n",
    "    Combine and preprocess data from all valid files in the folder and generate VG images.\n",
    "    \"\"\"\n",
    "    combined_ppg = []\n",
    "    combined_ecg = []\n",
    "    combined_seg_dbp = []\n",
    "    combined_seg_sbp = []\n",
    "\n",
    "    for file_name in os.listdir(folder_path):\n",
    "        file_path = os.path.join(folder_path, file_name)\n",
    "        \n",
    "        if not file_path.endswith('.npz'):\n",
    "            continue\n",
    "        \n",
    "        data = load_and_validate_data(file_path)\n",
    "        \n",
    "        if data is None:\n",
    "            print(f\"Skipping invalid file: {file_path}\")\n",
    "            continue\n",
    "        \n",
    "        ppg_f, ecg_f, seg_dbp, seg_sbp = data\n",
    "        \n",
    "        if ppg_f.ndim == 3:\n",
    "            for i in range(ppg_f.shape[0]):\n",
    "                preprocessed_ppg = preprocess_signal(ppg_f[i], 1000)\n",
    "                combined_ppg.append(preprocessed_ppg)\n",
    "        else:\n",
    "            print(f\"Skipping PPG data with unexpected shape: {ppg_f.shape}\")\n",
    "        \n",
    "        if ecg_f.ndim == 3:\n",
    "            for i in range(ecg_f.shape[0]):\n",
    "                preprocessed_ecg = preprocess_signal(ecg_f[i], 1000)\n",
    "                combined_ecg.append(preprocessed_ecg)\n",
    "        else:\n",
    "            print(f\"Skipping ECG data with unexpected shape: {ecg_f.shape}\")\n",
    "        \n",
    "        if seg_dbp.ndim == 2:\n",
    "            combined_seg_dbp.append(seg_dbp)\n",
    "        else:\n",
    "            print(f\"Skipping SegDBP data with unexpected shape: {seg_dbp.shape}\")\n",
    "        \n",
    "        if seg_sbp.ndim == 2:\n",
    "            combined_seg_sbp.append(seg_sbp)\n",
    "        else:\n",
    "            print(f\"Skipping SegSBP data with unexpected shape: {seg_sbp.shape}\")\n",
    "        \n",
    "        if len(combined_ppg) >= batch_size:\n",
    "            combined_ppg = np.stack(combined_ppg, axis=0)\n",
    "            combined_ecg = np.stack(combined_ecg, axis=0)\n",
    "            combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "            combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "            \n",
    "            yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp\n",
    "            \n",
    "            combined_ppg = []\n",
    "            combined_ecg = []\n",
    "            combined_seg_dbp = []\n",
    "            combined_seg_sbp = []\n",
    "            \n",
    "\n",
    "    if combined_ppg:\n",
    "        combined_ppg = np.stack(combined_ppg, axis=0)\n",
    "    else:\n",
    "        combined_ppg = np.array([])\n",
    "        \n",
    "    if combined_ecg:\n",
    "        combined_ecg = np.stack(combined_ecg, axis=0)\n",
    "    else:\n",
    "        combined_ecg = np.array([])\n",
    "        \n",
    "    if combined_seg_dbp:\n",
    "        combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_dbp = np.array([])\n",
    "        \n",
    "    if combined_seg_sbp:\n",
    "        combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_sbp = np.array([])\n",
    "\n",
    "    yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp\n",
    "    \n",
    "def invert_images(vg_images):\n",
    "    # Invert pixel values (assuming images are in [0, 255] range)\n",
    "    inverted_images = [255 - image for image in vg_images]\n",
    "    return inverted_images\n",
    "\n",
    "\n",
    "folder_path = r'C:\\Users\\nihal\\Desktop\\NIHAL_IMP_DOCS\\Internship_PPG\\Train_data'\n",
    "vg_image_size = 224  # Define the size for VG images\n",
    "\n",
    "train_data_generator = combine_data_from_folder(folder_path, 500)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "2e13bf40",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Batch 1:\n",
      "  PPG Batch Shape: (763, 1, 1250)\n",
      "  ECG Batch Shape: (763, 1, 1250)\n",
      "  SegDBP Batch Shape: (763, 1)\n",
      "  SegSBP Batch Shape: (763, 1)\n",
      "\n",
      "Batch 2:\n",
      "  PPG Batch Shape: (1802, 1, 1250)\n",
      "  ECG Batch Shape: (1802, 1, 1250)\n",
      "  SegDBP Batch Shape: (1802, 1)\n",
      "  SegSBP Batch Shape: (1802, 1)\n",
      "\n",
      "Batch 3:\n",
      "  PPG Batch Shape: (1273, 1, 1250)\n",
      "  ECG Batch Shape: (1273, 1, 1250)\n",
      "  SegDBP Batch Shape: (1273, 1)\n",
      "  SegSBP Batch Shape: (1273, 1)\n",
      "\n",
      "Batch 4:\n",
      "  PPG Batch Shape: (644, 1, 1250)\n",
      "  ECG Batch Shape: (644, 1, 1250)\n",
      "  SegDBP Batch Shape: (644, 1)\n",
      "  SegSBP Batch Shape: (644, 1)\n",
      "\n",
      "Batch 5:\n",
      "  PPG Batch Shape: (596, 1, 1250)\n",
      "  ECG Batch Shape: (596, 1, 1250)\n",
      "  SegDBP Batch Shape: (596, 1)\n",
      "  SegSBP Batch Shape: (596, 1)\n",
      "\n",
      "Batch 6:\n",
      "  PPG Batch Shape: (822, 1, 1250)\n",
      "  ECG Batch Shape: (822, 1, 1250)\n",
      "  SegDBP Batch Shape: (822, 1)\n",
      "  SegSBP Batch Shape: (822, 1)\n",
      "\n",
      "Batch 7:\n",
      "  PPG Batch Shape: (1535, 1, 1250)\n",
      "  ECG Batch Shape: (1535, 1, 1250)\n",
      "  SegDBP Batch Shape: (1535, 1)\n",
      "  SegSBP Batch Shape: (1535, 1)\n",
      "\n",
      "Batch 8:\n",
      "  PPG Batch Shape: (526, 1, 1250)\n",
      "  ECG Batch Shape: (526, 1, 1250)\n",
      "  SegDBP Batch Shape: (526, 1)\n",
      "  SegSBP Batch Shape: (526, 1)\n",
      "\n",
      "Batch 9:\n",
      "  PPG Batch Shape: (737, 1, 1250)\n",
      "  ECG Batch Shape: (737, 1, 1250)\n",
      "  SegDBP Batch Shape: (737, 1)\n",
      "  SegSBP Batch Shape: (737, 1)\n",
      "\n",
      "Batch 10:\n",
      "  PPG Batch Shape: (818, 1, 1250)\n",
      "  ECG Batch Shape: (818, 1, 1250)\n",
      "  SegDBP Batch Shape: (818, 1)\n",
      "  SegSBP Batch Shape: (818, 1)\n",
      "\n",
      "Batch 11:\n",
      "  PPG Batch Shape: (568, 1, 1250)\n",
      "  ECG Batch Shape: (568, 1, 1250)\n",
      "  SegDBP Batch Shape: (568, 1)\n",
      "  SegSBP Batch Shape: (568, 1)\n",
      "\n",
      "Batch 12:\n",
      "  PPG Batch Shape: (639, 1, 1250)\n",
      "  ECG Batch Shape: (639, 1, 1250)\n",
      "  SegDBP Batch Shape: (639, 1)\n",
      "  SegSBP Batch Shape: (639, 1)\n",
      "\n",
      "Batch 13:\n",
      "  PPG Batch Shape: (1064, 1, 1250)\n",
      "  ECG Batch Shape: (1064, 1, 1250)\n",
      "  SegDBP Batch Shape: (1064, 1)\n",
      "  SegSBP Batch Shape: (1064, 1)\n",
      "\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[2], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, (ppg_batch, ecg_batch, seg_dbp_batch, seg_sbp_batch) \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(train_data_generator):\n\u001b[0;32m      2\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mBatch \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;250m \u001b[39m\u001b[38;5;241m+\u001b[39m\u001b[38;5;250m \u001b[39m\u001b[38;5;241m1\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m:\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m      3\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m  PPG Batch Shape: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mppg_batch\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n",
      "Cell \u001b[1;32mIn[1], line 121\u001b[0m, in \u001b[0;36mcombine_data_from_folder\u001b[1;34m(folder_path, batch_size)\u001b[0m\n\u001b[0;32m    119\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ppg_f\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m3\u001b[39m:\n\u001b[0;32m    120\u001b[0m     \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(ppg_f\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]):\n\u001b[1;32m--> 121\u001b[0m         preprocessed_ppg \u001b[38;5;241m=\u001b[39m \u001b[43mpreprocess_signal\u001b[49m\u001b[43m(\u001b[49m\u001b[43mppg_f\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1000\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m    122\u001b[0m         combined_ppg\u001b[38;5;241m.\u001b[39mappend(preprocessed_ppg)\n\u001b[0;32m    123\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n",
      "Cell \u001b[1;32mIn[1], line 50\u001b[0m, in \u001b[0;36mpreprocess_signal\u001b[1;34m(signal, fs)\u001b[0m\n\u001b[0;32m     46\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mpreprocess_signal\u001b[39m(signal, fs):\n\u001b[0;32m     47\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m     48\u001b[0m \u001b[38;5;124;03m    Preprocess the signal by bandpass filtering and normalization.\u001b[39;00m\n\u001b[0;32m     49\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[1;32m---> 50\u001b[0m     filtered_signal \u001b[38;5;241m=\u001b[39m \u001b[43mbandpass_filter\u001b[49m\u001b[43m(\u001b[49m\u001b[43msignal\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0.5\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m40\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m     51\u001b[0m     normalized_signal \u001b[38;5;241m=\u001b[39m (filtered_signal \u001b[38;5;241m-\u001b[39m np\u001b[38;5;241m.\u001b[39mmean(filtered_signal)) \u001b[38;5;241m/\u001b[39m np\u001b[38;5;241m.\u001b[39mstd(filtered_signal)\n\u001b[0;32m     52\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m normalized_signal\n",
      "Cell \u001b[1;32mIn[1], line 43\u001b[0m, in \u001b[0;36mbandpass_filter\u001b[1;34m(data, lowcut, highcut, fs, order)\u001b[0m\n\u001b[0;32m     41\u001b[0m low \u001b[38;5;241m=\u001b[39m lowcut \u001b[38;5;241m/\u001b[39m nyquist\n\u001b[0;32m     42\u001b[0m high \u001b[38;5;241m=\u001b[39m highcut \u001b[38;5;241m/\u001b[39m nyquist\n\u001b[1;32m---> 43\u001b[0m b, a \u001b[38;5;241m=\u001b[39m \u001b[43mbutter\u001b[49m\u001b[43m(\u001b[49m\u001b[43morder\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[43mlow\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhigh\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mband\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m     44\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m filtfilt(b, a, data)\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\scipy\\signal\\_filter_design.py:3101\u001b[0m, in \u001b[0;36mbutter\u001b[1;34m(N, Wn, btype, analog, output, fs)\u001b[0m\n\u001b[0;32m   2980\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mbutter\u001b[39m(N, Wn, btype\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mlow\u001b[39m\u001b[38;5;124m'\u001b[39m, analog\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m, output\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mba\u001b[39m\u001b[38;5;124m'\u001b[39m, fs\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m   2981\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m   2982\u001b[0m \u001b[38;5;124;03m    Butterworth digital and analog filter design.\u001b[39;00m\n\u001b[0;32m   2983\u001b[0m \n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m   3099\u001b[0m \u001b[38;5;124;03m    >>> plt.show()\u001b[39;00m\n\u001b[0;32m   3100\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[1;32m-> 3101\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43miirfilter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mN\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mWn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbtype\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43manalog\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43manalog\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m   3102\u001b[0m \u001b[43m                     \u001b[49m\u001b[43moutput\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mftype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mbutter\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfs\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\scipy\\signal\\_filter_design.py:2590\u001b[0m, in \u001b[0;36miirfilter\u001b[1;34m(N, Wn, rp, rs, btype, analog, ftype, output, fs)\u001b[0m\n\u001b[0;32m   2588\u001b[0m \u001b[38;5;66;03m# Find discrete equivalent if necessary\u001b[39;00m\n\u001b[0;32m   2589\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m analog:\n\u001b[1;32m-> 2590\u001b[0m     z, p, k \u001b[38;5;241m=\u001b[39m \u001b[43mbilinear_zpk\u001b[49m\u001b[43m(\u001b[49m\u001b[43mz\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mk\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   2592\u001b[0m \u001b[38;5;66;03m# Transform to proper out type (pole-zero, state-space, numer-denom)\u001b[39;00m\n\u001b[0;32m   2593\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m output \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mzpk\u001b[39m\u001b[38;5;124m'\u001b[39m:\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\scipy\\signal\\_filter_design.py:2687\u001b[0m, in \u001b[0;36mbilinear_zpk\u001b[1;34m(z, p, k, fs)\u001b[0m\n\u001b[0;32m   2684\u001b[0m p_z \u001b[38;5;241m=\u001b[39m (fs2 \u001b[38;5;241m+\u001b[39m p) \u001b[38;5;241m/\u001b[39m (fs2 \u001b[38;5;241m-\u001b[39m p)\n\u001b[0;32m   2686\u001b[0m \u001b[38;5;66;03m# Any zeros that were at infinity get moved to the Nyquist frequency\u001b[39;00m\n\u001b[1;32m-> 2687\u001b[0m z_z \u001b[38;5;241m=\u001b[39m \u001b[43mappend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mz_z\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[43mones\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdegree\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   2689\u001b[0m \u001b[38;5;66;03m# Compensate for gain change\u001b[39;00m\n\u001b[0;32m   2690\u001b[0m k_z \u001b[38;5;241m=\u001b[39m k \u001b[38;5;241m*\u001b[39m real(prod(fs2 \u001b[38;5;241m-\u001b[39m z) \u001b[38;5;241m/\u001b[39m prod(fs2 \u001b[38;5;241m-\u001b[39m p))\n",
      "File \u001b[1;32m<__array_function__ internals>:200\u001b[0m, in \u001b[0;36mappend\u001b[1;34m(*args, **kwargs)\u001b[0m\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\numpy\\lib\\function_base.py:5499\u001b[0m, in \u001b[0;36mappend\u001b[1;34m(arr, values, axis)\u001b[0m\n\u001b[0;32m   5497\u001b[0m     values \u001b[38;5;241m=\u001b[39m ravel(values)\n\u001b[0;32m   5498\u001b[0m     axis \u001b[38;5;241m=\u001b[39m arr\u001b[38;5;241m.\u001b[39mndim\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m\n\u001b[1;32m-> 5499\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mconcatenate\u001b[49m\u001b[43m(\u001b[49m\u001b[43m(\u001b[49m\u001b[43marr\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvalues\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[1;32m<__array_function__ internals>:200\u001b[0m, in \u001b[0;36mconcatenate\u001b[1;34m(*args, **kwargs)\u001b[0m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "for i, (ppg_batch, ecg_batch, seg_dbp_batch, seg_sbp_batch) in enumerate(train_data_generator):\n",
    "    print(f\"Batch {i + 1}:\")\n",
    "    print(f\"  PPG Batch Shape: {ppg_batch.shape}\")\n",
    "    print(f\"  ECG Batch Shape: {ecg_batch.shape}\")\n",
    "    print(f\"  SegDBP Batch Shape: {seg_dbp_batch.shape}\")\n",
    "    print(f\"  SegSBP Batch Shape: {seg_sbp_batch.shape}\")\n",
    "    print()\n",
    "break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "9d03423e",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "from scipy.signal import butter, filtfilt\n",
    "import networkx as nx\n",
    "from scipy.ndimage import zoom\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def load_and_validate_data(file_path):\n",
    "    \"\"\"\n",
    "    Load data from a file and validate its presence.\n",
    "    Return None if data is invalid or shapes are inconsistent.\n",
    "    \"\"\"\n",
    "    try:\n",
    "        loaded_data = np.load(file_path)\n",
    "        \n",
    "        # Extract data\n",
    "        ppg_f = loaded_data.get('ppg_f')\n",
    "        ecg_f = loaded_data.get('ecg_f')\n",
    "        seg_dbp = loaded_data.get('seg_dbp')\n",
    "        seg_sbp = loaded_data.get('seg_sbp')\n",
    "        \n",
    "        # Check if all required data is present and non-null\n",
    "        if ppg_f is None or ecg_f is None or seg_dbp is None or seg_sbp is None:\n",
    "            return None\n",
    "        \n",
    "        # Check for empty data\n",
    "        if ppg_f.size == 0 or ecg_f.size == 0 or seg_dbp.size == 0 or seg_sbp.size == 0:\n",
    "            return None\n",
    "\n",
    "        return ppg_f, ecg_f, seg_dbp, seg_sbp\n",
    "    \n",
    "    except Exception as e:\n",
    "        print(f\"Error loading {file_path}: {e}\")\n",
    "        return None\n",
    "\n",
    "def bandpass_filter(data, lowcut, highcut, fs, order=5):\n",
    "    \"\"\"\n",
    "    Apply a bandpass filter to the data.\n",
    "    \"\"\"\n",
    "    nyquist = 0.5 * fs\n",
    "    low = lowcut / nyquist\n",
    "    high = highcut / nyquist\n",
    "    b, a = butter(order, [low, high], btype='band')\n",
    "    return filtfilt(b, a, data)\n",
    "\n",
    "def preprocess_signal(signal, fs):\n",
    "    \"\"\"\n",
    "    Preprocess the signal by bandpass filtering and normalization.\n",
    "    \"\"\"\n",
    "    filtered_signal = bandpass_filter(signal, 0.5, 40, fs)\n",
    "    normalized_signal = (filtered_signal - np.mean(filtered_signal)) / np.std(filtered_signal)\n",
    "    return normalized_signal\n",
    "\n",
    "def create_visibility_graph(ppg_signal):\n",
    "    n = len(ppg_signal)\n",
    "    G = nx.Graph()\n",
    "    G.add_nodes_from(range(n))\n",
    "\n",
    "    for i in range(n):\n",
    "        for j in range(i + 1, n):\n",
    "            visible = True\n",
    "            for k in range(i + 1, j):\n",
    "                if ppg_signal[k] >= ppg_signal[i] + (ppg_signal[j] - ppg_signal[i]) * (k - i) / (j - i):\n",
    "                    visible = False\n",
    "                    break\n",
    "            if visible:\n",
    "                G.add_edge(i, j)\n",
    "                \n",
    "    return G\n",
    "\n",
    "def graph_to_adjacency_matrix_image(G, size):\n",
    "    adj_matrix = nx.to_numpy_array(G)\n",
    "    adj_matrix_resized = zoom(adj_matrix, (size / adj_matrix.shape[0], size / adj_matrix.shape[1]), order=0)\n",
    "    return adj_matrix_resized\n",
    "\n",
    "def graph_to_flattened_adjacency_matrix(G, size):\n",
    "    adj_matrix = nx.to_numpy_array(G)\n",
    "    adj_matrix_resized = zoom(adj_matrix, (size / adj_matrix.shape[0], size / adj_matrix.shape[1]), order=0)\n",
    "    flattened_adj = adj_matrix_resized.flatten()\n",
    "    return flattened_adj[:size * size]  # Ensure it's the correct size\n",
    "\n",
    "def generate_vg_image(ppg_signal, size):\n",
    "    G = create_visibility_graph(ppg_signal)\n",
    "    vg_image = graph_to_adjacency_matrix_image(G, size)\n",
    "    return vg_image\n",
    "\n",
    "def plot_vg_images(vg_images):\n",
    "    plt.figure(figsize=(10, 10))\n",
    "    num_images = len(vg_images)\n",
    "    for i in range(num_images):\n",
    "        plt.subplot(1, num_images, i + 1)\n",
    "        plt.imshow(vg_images[i], cmap='gray')\n",
    "        plt.axis('off')\n",
    "    plt.show()\n",
    "    \n",
    "def combine_data_from_folder(folder_path , batch_size=100):\n",
    "    \"\"\"\n",
    "    Combine and preprocess data from all valid files in the folder and generate VG images.\n",
    "    \"\"\"\n",
    "    combined_ppg = []\n",
    "    combined_ecg = []\n",
    "    combined_seg_dbp = []\n",
    "    combined_seg_sbp = []\n",
    "\n",
    "    for file_name in os.listdir(folder_path):\n",
    "        file_path = os.path.join(folder_path, file_name)\n",
    "        \n",
    "        if not file_path.endswith('.npz'):\n",
    "            continue\n",
    "        \n",
    "        data = load_and_validate_data(file_path)\n",
    "        \n",
    "        if data is None:\n",
    "            print(f\"Skipping invalid file: {file_path}\")\n",
    "            continue\n",
    "        \n",
    "        ppg_f, ecg_f, seg_dbp, seg_sbp = data\n",
    "        \n",
    "        if ppg_f.ndim == 3:\n",
    "            for i in range(ppg_f.shape[0]):\n",
    "                preprocessed_ppg = preprocess_signal(ppg_f[i], 1000)\n",
    "                combined_ppg.append(preprocessed_ppg)\n",
    "        else:\n",
    "            print(f\"Skipping PPG data with unexpected shape: {ppg_f.shape}\")\n",
    "        \n",
    "        if ecg_f.ndim == 3:\n",
    "            for i in range(ecg_f.shape[0]):\n",
    "                preprocessed_ecg = preprocess_signal(ecg_f[i], 1000)\n",
    "                combined_ecg.append(preprocessed_ecg)\n",
    "        else:\n",
    "            print(f\"Skipping ECG data with unexpected shape: {ecg_f.shape}\")\n",
    "        \n",
    "        if seg_dbp.ndim == 2:\n",
    "            combined_seg_dbp.append(seg_dbp)\n",
    "        else:\n",
    "            print(f\"Skipping SegDBP data with unexpected shape: {seg_dbp.shape}\")\n",
    "        \n",
    "        if seg_sbp.ndim == 2:\n",
    "            combined_seg_sbp.append(seg_sbp)\n",
    "        else:\n",
    "            print(f\"Skipping SegSBP data with unexpected shape: {seg_sbp.shape}\")\n",
    "        \n",
    "        if len(combined_ppg) >= batch_size:\n",
    "            combined_ppg = np.stack(combined_ppg, axis=0)\n",
    "            combined_ecg = np.stack(combined_ecg, axis=0)\n",
    "            combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "            combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "            \n",
    "            yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp\n",
    "            \n",
    "            combined_ppg = []\n",
    "            combined_ecg = []\n",
    "            combined_seg_dbp = []\n",
    "            combined_seg_sbp = []\n",
    "            \n",
    "\n",
    "    if combined_ppg:\n",
    "        combined_ppg = np.stack(combined_ppg, axis=0)\n",
    "    else:\n",
    "        combined_ppg = np.array([])\n",
    "        \n",
    "    if combined_ecg:\n",
    "        combined_ecg = np.stack(combined_ecg, axis=0)\n",
    "    else:\n",
    "        combined_ecg = np.array([])\n",
    "        \n",
    "    if combined_seg_dbp:\n",
    "        combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_dbp = np.array([])\n",
    "        \n",
    "    if combined_seg_sbp:\n",
    "        combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_sbp = np.array([])\n",
    "\n",
    "    yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp\n",
    "    \n",
    "def invert_images(vg_images):\n",
    "    # Invert pixel values (assuming images are in [0, 255] range)\n",
    "    inverted_images = [255 - image for image in vg_images]\n",
    "    return inverted_images\n",
    "\n",
    "\n",
    "folder_path = r'C:\\Users\\nihal\\Desktop\\NIHAL_IMP_DOCS\\Internship_PPG\\Test_data'\n",
    "vg_image_size = 224  # Define the size for VG images\n",
    "\n",
    "test_data_generator = combine_data_from_folder(folder_path, 100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "3529ac43",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Batch 1:\n",
      "  PPG Batch Shape: (916, 1, 1250)\n",
      "  ECG Batch Shape: (916, 1, 1250)\n",
      "  SegDBP Batch Shape: (916, 1)\n",
      "  SegSBP Batch Shape: (916, 1)\n",
      "\n",
      "Batch 2:\n",
      "  PPG Batch Shape: (492, 1, 1250)\n",
      "  ECG Batch Shape: (492, 1, 1250)\n",
      "  SegDBP Batch Shape: (492, 1)\n",
      "  SegSBP Batch Shape: (492, 1)\n",
      "\n",
      "Batch 3:\n",
      "  PPG Batch Shape: (120, 1, 1250)\n",
      "  ECG Batch Shape: (120, 1, 1250)\n",
      "  SegDBP Batch Shape: (120, 1)\n",
      "  SegSBP Batch Shape: (120, 1)\n",
      "\n",
      "Batch 4:\n",
      "  PPG Batch Shape: (1003, 1, 1250)\n",
      "  ECG Batch Shape: (1003, 1, 1250)\n",
      "  SegDBP Batch Shape: (1003, 1)\n",
      "  SegSBP Batch Shape: (1003, 1)\n",
      "\n",
      "Batch 5:\n",
      "  PPG Batch Shape: (454, 1, 1250)\n",
      "  ECG Batch Shape: (454, 1, 1250)\n",
      "  SegDBP Batch Shape: (454, 1)\n",
      "  SegSBP Batch Shape: (454, 1)\n",
      "\n",
      "Batch 6:\n",
      "  PPG Batch Shape: (135, 1, 1250)\n",
      "  ECG Batch Shape: (135, 1, 1250)\n",
      "  SegDBP Batch Shape: (135, 1)\n",
      "  SegSBP Batch Shape: (135, 1)\n",
      "\n",
      "Batch 7:\n",
      "  PPG Batch Shape: (522, 1, 1250)\n",
      "  ECG Batch Shape: (522, 1, 1250)\n",
      "  SegDBP Batch Shape: (522, 1)\n",
      "  SegSBP Batch Shape: (522, 1)\n",
      "\n",
      "Batch 8:\n",
      "  PPG Batch Shape: (549, 1, 1250)\n",
      "  ECG Batch Shape: (549, 1, 1250)\n",
      "  SegDBP Batch Shape: (549, 1)\n",
      "  SegSBP Batch Shape: (549, 1)\n",
      "\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[13], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, (ppg_batch, ecg_batch, seg_dbp_batch, seg_sbp_batch) \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(test_data_generator):\n\u001b[0;32m      2\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mBatch \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;250m \u001b[39m\u001b[38;5;241m+\u001b[39m\u001b[38;5;250m \u001b[39m\u001b[38;5;241m1\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m:\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m      3\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m  PPG Batch Shape: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mppg_batch\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n",
      "Cell \u001b[1;32mIn[12], line 128\u001b[0m, in \u001b[0;36mcombine_data_from_folder\u001b[1;34m(folder_path, batch_size)\u001b[0m\n\u001b[0;32m    126\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ecg_f\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m3\u001b[39m:\n\u001b[0;32m    127\u001b[0m     \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(ecg_f\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]):\n\u001b[1;32m--> 128\u001b[0m         preprocessed_ecg \u001b[38;5;241m=\u001b[39m \u001b[43mpreprocess_signal\u001b[49m\u001b[43m(\u001b[49m\u001b[43mecg_f\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1000\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m    129\u001b[0m         combined_ecg\u001b[38;5;241m.\u001b[39mappend(preprocessed_ecg)\n\u001b[0;32m    130\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n",
      "Cell \u001b[1;32mIn[12], line 50\u001b[0m, in \u001b[0;36mpreprocess_signal\u001b[1;34m(signal, fs)\u001b[0m\n\u001b[0;32m     46\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mpreprocess_signal\u001b[39m(signal, fs):\n\u001b[0;32m     47\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m     48\u001b[0m \u001b[38;5;124;03m    Preprocess the signal by bandpass filtering and normalization.\u001b[39;00m\n\u001b[0;32m     49\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[1;32m---> 50\u001b[0m     filtered_signal \u001b[38;5;241m=\u001b[39m \u001b[43mbandpass_filter\u001b[49m\u001b[43m(\u001b[49m\u001b[43msignal\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0.5\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m40\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m     51\u001b[0m     normalized_signal \u001b[38;5;241m=\u001b[39m (filtered_signal \u001b[38;5;241m-\u001b[39m np\u001b[38;5;241m.\u001b[39mmean(filtered_signal)) \u001b[38;5;241m/\u001b[39m np\u001b[38;5;241m.\u001b[39mstd(filtered_signal)\n\u001b[0;32m     52\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m normalized_signal\n",
      "Cell \u001b[1;32mIn[12], line 44\u001b[0m, in \u001b[0;36mbandpass_filter\u001b[1;34m(data, lowcut, highcut, fs, order)\u001b[0m\n\u001b[0;32m     42\u001b[0m high \u001b[38;5;241m=\u001b[39m highcut \u001b[38;5;241m/\u001b[39m nyquist\n\u001b[0;32m     43\u001b[0m b, a \u001b[38;5;241m=\u001b[39m butter(order, [low, high], btype\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mband\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m---> 44\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfiltfilt\u001b[49m\u001b[43m(\u001b[49m\u001b[43mb\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43ma\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\scipy\\signal\\_signaltools.py:4174\u001b[0m, in \u001b[0;36mfiltfilt\u001b[1;34m(b, a, x, axis, padtype, padlen, method, irlen)\u001b[0m\n\u001b[0;32m   4171\u001b[0m x0 \u001b[38;5;241m=\u001b[39m axis_slice(ext, stop\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m, axis\u001b[38;5;241m=\u001b[39maxis)\n\u001b[0;32m   4173\u001b[0m \u001b[38;5;66;03m# Forward filter.\u001b[39;00m\n\u001b[1;32m-> 4174\u001b[0m (y, zf) \u001b[38;5;241m=\u001b[39m \u001b[43mlfilter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mb\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43ma\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mext\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mzi\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mzi\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mx0\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   4176\u001b[0m \u001b[38;5;66;03m# Backward filter.\u001b[39;00m\n\u001b[0;32m   4177\u001b[0m \u001b[38;5;66;03m# Create y0 so zi*y0 broadcasts appropriately.\u001b[39;00m\n\u001b[0;32m   4178\u001b[0m y0 \u001b[38;5;241m=\u001b[39m axis_slice(y, start\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m, axis\u001b[38;5;241m=\u001b[39maxis)\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\scipy\\signal\\_signaltools.py:2156\u001b[0m, in \u001b[0;36mlfilter\u001b[1;34m(b, a, x, axis, zi)\u001b[0m\n\u001b[0;32m   2154\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m _sigtools\u001b[38;5;241m.\u001b[39m_linear_filter(b, a, x, axis)\n\u001b[0;32m   2155\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m-> 2156\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_sigtools\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_linear_filter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mb\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43ma\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mzi\u001b[49m\u001b[43m)\u001b[49m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "for i, (ppg_batch, ecg_batch, seg_dbp_batch, seg_sbp_batch) in enumerate(test_data_generator):\n",
    "    print(f\"Batch {i + 1}:\")\n",
    "    print(f\"  PPG Batch Shape: {ppg_batch.shape}\")\n",
    "    print(f\"  ECG Batch Shape: {ecg_batch.shape}\")\n",
    "    print(f\"  SegDBP Batch Shape: {seg_dbp_batch.shape}\")\n",
    "    print(f\"  SegSBP Batch Shape: {seg_sbp_batch.shape}\")\n",
    "    print()\n",
    "break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "ba6b29b4",
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "import numpy as np\n",
    "from scipy.signal import butter, filtfilt\n",
    "import networkx as nx\n",
    "from scipy.ndimage import zoom\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "def load_and_validate_data(file_path):\n",
    "    \"\"\"\n",
    "    Load data from a file and validate its presence.\n",
    "    Return None if data is invalid or shapes are inconsistent.\n",
    "    \"\"\"\n",
    "    try:\n",
    "        loaded_data = np.load(file_path)\n",
    "        \n",
    "        # Extract data\n",
    "        ppg_f = loaded_data.get('ppg_f')\n",
    "        ecg_f = loaded_data.get('ecg_f')\n",
    "        seg_dbp = loaded_data.get('seg_dbp')\n",
    "        seg_sbp = loaded_data.get('seg_sbp')\n",
    "        \n",
    "        # Check if all required data is present and non-null\n",
    "        if ppg_f is None or ecg_f is None or seg_dbp is None or seg_sbp is None:\n",
    "            return None\n",
    "        \n",
    "        # Check for empty data\n",
    "        if ppg_f.size == 0 or ecg_f.size == 0 or seg_dbp.size == 0 or seg_sbp.size == 0:\n",
    "            return None\n",
    "\n",
    "        return ppg_f, ecg_f, seg_dbp, seg_sbp\n",
    "    \n",
    "    except Exception as e:\n",
    "        print(f\"Error loading {file_path}: {e}\")\n",
    "        return None\n",
    "\n",
    "def bandpass_filter(data, lowcut, highcut, fs, order=5):\n",
    "    \"\"\"\n",
    "    Apply a bandpass filter to the data.\n",
    "    \"\"\"\n",
    "    nyquist = 0.5 * fs\n",
    "    low = lowcut / nyquist\n",
    "    high = highcut / nyquist\n",
    "    b, a = butter(order, [low, high], btype='band')\n",
    "    return filtfilt(b, a, data)\n",
    "\n",
    "def preprocess_signal(signal, fs):\n",
    "    \"\"\"\n",
    "    Preprocess the signal by bandpass filtering and normalization.\n",
    "    \"\"\"\n",
    "    filtered_signal = bandpass_filter(signal, 0.5, 40, fs)\n",
    "    normalized_signal = (filtered_signal - np.mean(filtered_signal)) / np.std(filtered_signal)\n",
    "    return normalized_signal\n",
    "\n",
    "def create_visibility_graph(ppg_signal):\n",
    "    n = len(ppg_signal)\n",
    "    G = nx.Graph()\n",
    "    G.add_nodes_from(range(n))\n",
    "\n",
    "    for i in range(n):\n",
    "        for j in range(i + 1, n):\n",
    "            visible = True\n",
    "            for k in range(i + 1, j):\n",
    "                if ppg_signal[k] >= ppg_signal[i] + (ppg_signal[j] - ppg_signal[i]) * (k - i) / (j - i):\n",
    "                    visible = False\n",
    "                    break\n",
    "            if visible:\n",
    "                G.add_edge(i, j)\n",
    "                \n",
    "    return G\n",
    "\n",
    "def graph_to_adjacency_matrix_image(G, size):\n",
    "    adj_matrix = nx.to_numpy_array(G)\n",
    "    adj_matrix_resized = zoom(adj_matrix, (size / adj_matrix.shape[0], size / adj_matrix.shape[1]), order=0)\n",
    "    return adj_matrix_resized\n",
    "\n",
    "def graph_to_flattened_adjacency_matrix(G, size):\n",
    "    adj_matrix = nx.to_numpy_array(G)\n",
    "    adj_matrix_resized = zoom(adj_matrix, (size / adj_matrix.shape[0], size / adj_matrix.shape[1]), order=0)\n",
    "    flattened_adj = adj_matrix_resized.flatten()\n",
    "    return flattened_adj[:size * size]  # Ensure it's the correct size\n",
    "\n",
    "def generate_vg_image(ppg_signal, size):\n",
    "    G = create_visibility_graph(ppg_signal)\n",
    "    vg_image = graph_to_adjacency_matrix_image(G, size)\n",
    "    return vg_image\n",
    "\n",
    "def plot_vg_images(vg_images):\n",
    "    plt.figure(figsize=(10, 10))\n",
    "    num_images = len(vg_images)\n",
    "    for i in range(num_images):\n",
    "        plt.subplot(1, num_images, i + 1)\n",
    "        plt.imshow(vg_images[i], cmap='gray')\n",
    "        plt.axis('off')\n",
    "    plt.show()\n",
    "    \n",
    "def combine_data_from_folder(folder_path , batch_size=500):\n",
    "    \"\"\"\n",
    "    Combine and preprocess data from all valid files in the folder and generate VG images.\n",
    "    \"\"\"\n",
    "    combined_ppg = []\n",
    "    combined_ecg = []\n",
    "    combined_seg_dbp = []\n",
    "    combined_seg_sbp = []\n",
    "\n",
    "    for file_name in os.listdir(folder_path):\n",
    "        file_path = os.path.join(folder_path, file_name)\n",
    "        \n",
    "        if not file_path.endswith('.npz'):\n",
    "            continue\n",
    "        \n",
    "        data = load_and_validate_data(file_path)\n",
    "        \n",
    "        if data is None:\n",
    "            print(f\"Skipping invalid file: {file_path}\")\n",
    "            continue\n",
    "        \n",
    "        ppg_f, ecg_f, seg_dbp, seg_sbp = data\n",
    "        \n",
    "        if ppg_f.ndim == 3:\n",
    "            for i in range(ppg_f.shape[0]):\n",
    "                preprocessed_ppg = preprocess_signal(ppg_f[i], 1000)\n",
    "                combined_ppg.append(preprocessed_ppg)\n",
    "        else:\n",
    "            print(f\"Skipping PPG data with unexpected shape: {ppg_f.shape}\")\n",
    "        \n",
    "        if ecg_f.ndim == 3:\n",
    "            for i in range(ecg_f.shape[0]):\n",
    "                preprocessed_ecg = preprocess_signal(ecg_f[i], 1000)\n",
    "                combined_ecg.append(preprocessed_ecg)\n",
    "        else:\n",
    "            print(f\"Skipping ECG data with unexpected shape: {ecg_f.shape}\")\n",
    "        \n",
    "        if seg_dbp.ndim == 2:\n",
    "            combined_seg_dbp.append(seg_dbp)\n",
    "        else:\n",
    "            print(f\"Skipping SegDBP data with unexpected shape: {seg_dbp.shape}\")\n",
    "        \n",
    "        if seg_sbp.ndim == 2:\n",
    "            combined_seg_sbp.append(seg_sbp)\n",
    "        else:\n",
    "            print(f\"Skipping SegSBP data with unexpected shape: {seg_sbp.shape}\")\n",
    "        \n",
    "        if len(combined_ppg) >= batch_size:\n",
    "            combined_ppg = np.stack(combined_ppg, axis=0)\n",
    "            combined_ecg = np.stack(combined_ecg, axis=0)\n",
    "            combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "            combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "            \n",
    "            yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp\n",
    "            \n",
    "            combined_ppg = []\n",
    "            combined_ecg = []\n",
    "            combined_seg_dbp = []\n",
    "            combined_seg_sbp = []\n",
    "            \n",
    "\n",
    "    if combined_ppg:\n",
    "        combined_ppg = np.stack(combined_ppg, axis=0)\n",
    "    else:\n",
    "        combined_ppg = np.array([])\n",
    "        \n",
    "    if combined_ecg:\n",
    "        combined_ecg = np.stack(combined_ecg, axis=0)\n",
    "    else:\n",
    "        combined_ecg = np.array([])\n",
    "        \n",
    "    if combined_seg_dbp:\n",
    "        combined_seg_dbp = np.concatenate(combined_seg_dbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_dbp = np.array([])\n",
    "        \n",
    "    if combined_seg_sbp:\n",
    "        combined_seg_sbp = np.concatenate(combined_seg_sbp, axis=0)\n",
    "    else:\n",
    "        combined_seg_sbp = np.array([])\n",
    "\n",
    "    yield combined_ppg, combined_ecg, combined_seg_dbp, combined_seg_sbp\n",
    "    \n",
    "def invert_images(vg_images):\n",
    "    # Invert pixel values (assuming images are in [0, 255] range)\n",
    "    inverted_images = [255 - image for image in vg_images]\n",
    "    return inverted_images\n",
    "\n",
    "\n",
    "folder_path = r'C:\\Users\\nihal\\Desktop\\NIHAL_IMP_DOCS\\Internship_PPG\\Validation_data'\n",
    "vg_image_size = 224  # Define the size for VG images\n",
    "\n",
    "val_data_generator = combine_data_from_folder(folder_path, 500)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "b171c7f8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Batch 1:\n",
      "  PPG Batch Shape: (956, 1, 1250)\n",
      "  ECG Batch Shape: (956, 1, 1250)\n",
      "  SegDBP Batch Shape: (956, 1)\n",
      "  SegSBP Batch Shape: (956, 1)\n",
      "\n",
      "Batch 2:\n",
      "  PPG Batch Shape: (654, 1, 1250)\n",
      "  ECG Batch Shape: (654, 1, 1250)\n",
      "  SegDBP Batch Shape: (654, 1)\n",
      "  SegSBP Batch Shape: (654, 1)\n",
      "\n",
      "Batch 3:\n",
      "  PPG Batch Shape: (541, 1, 1250)\n",
      "  ECG Batch Shape: (541, 1, 1250)\n",
      "  SegDBP Batch Shape: (541, 1)\n",
      "  SegSBP Batch Shape: (541, 1)\n",
      "\n",
      "Batch 4:\n",
      "  PPG Batch Shape: (1998, 1, 1250)\n",
      "  ECG Batch Shape: (1998, 1, 1250)\n",
      "  SegDBP Batch Shape: (1998, 1)\n",
      "  SegSBP Batch Shape: (1998, 1)\n",
      "\n",
      "Batch 5:\n",
      "  PPG Batch Shape: (822, 1, 1250)\n",
      "  ECG Batch Shape: (822, 1, 1250)\n",
      "  SegDBP Batch Shape: (822, 1)\n",
      "  SegSBP Batch Shape: (822, 1)\n",
      "\n",
      "Batch 6:\n",
      "  PPG Batch Shape: (1107, 1, 1250)\n",
      "  ECG Batch Shape: (1107, 1, 1250)\n",
      "  SegDBP Batch Shape: (1107, 1)\n",
      "  SegSBP Batch Shape: (1107, 1)\n",
      "\n",
      "Batch 7:\n",
      "  PPG Batch Shape: (660, 1, 1250)\n",
      "  ECG Batch Shape: (660, 1, 1250)\n",
      "  SegDBP Batch Shape: (660, 1)\n",
      "  SegSBP Batch Shape: (660, 1)\n",
      "\n",
      "Batch 8:\n",
      "  PPG Batch Shape: (816, 1, 1250)\n",
      "  ECG Batch Shape: (816, 1, 1250)\n",
      "  SegDBP Batch Shape: (816, 1)\n",
      "  SegSBP Batch Shape: (816, 1)\n",
      "\n",
      "Batch 9:\n",
      "  PPG Batch Shape: (1017, 1, 1250)\n",
      "  ECG Batch Shape: (1017, 1, 1250)\n",
      "  SegDBP Batch Shape: (1017, 1)\n",
      "  SegSBP Batch Shape: (1017, 1)\n",
      "\n",
      "Batch 10:\n",
      "  PPG Batch Shape: (754, 1, 1250)\n",
      "  ECG Batch Shape: (754, 1, 1250)\n",
      "  SegDBP Batch Shape: (754, 1)\n",
      "  SegSBP Batch Shape: (754, 1)\n",
      "\n",
      "Batch 11:\n",
      "  PPG Batch Shape: (600, 1, 1250)\n",
      "  ECG Batch Shape: (600, 1, 1250)\n",
      "  SegDBP Batch Shape: (600, 1)\n",
      "  SegSBP Batch Shape: (600, 1)\n",
      "\n",
      "Batch 12:\n",
      "  PPG Batch Shape: (777, 1, 1250)\n",
      "  ECG Batch Shape: (777, 1, 1250)\n",
      "  SegDBP Batch Shape: (777, 1)\n",
      "  SegSBP Batch Shape: (777, 1)\n",
      "\n",
      "Batch 13:\n",
      "  PPG Batch Shape: (673, 1, 1250)\n",
      "  ECG Batch Shape: (673, 1, 1250)\n",
      "  SegDBP Batch Shape: (673, 1)\n",
      "  SegSBP Batch Shape: (673, 1)\n",
      "\n",
      "Batch 14:\n",
      "  PPG Batch Shape: (931, 1, 1250)\n",
      "  ECG Batch Shape: (931, 1, 1250)\n",
      "  SegDBP Batch Shape: (931, 1)\n",
      "  SegSBP Batch Shape: (931, 1)\n",
      "\n",
      "Batch 15:\n",
      "  PPG Batch Shape: (862, 1, 1250)\n",
      "  ECG Batch Shape: (862, 1, 1250)\n",
      "  SegDBP Batch Shape: (862, 1)\n",
      "  SegSBP Batch Shape: (862, 1)\n",
      "\n",
      "Batch 16:\n",
      "  PPG Batch Shape: (988, 1, 1250)\n",
      "  ECG Batch Shape: (988, 1, 1250)\n",
      "  SegDBP Batch Shape: (988, 1)\n",
      "  SegSBP Batch Shape: (988, 1)\n",
      "\n",
      "Batch 17:\n",
      "  PPG Batch Shape: (694, 1, 1250)\n",
      "  ECG Batch Shape: (694, 1, 1250)\n",
      "  SegDBP Batch Shape: (694, 1)\n",
      "  SegSBP Batch Shape: (694, 1)\n",
      "\n",
      "Batch 18:\n",
      "  PPG Batch Shape: (1065, 1, 1250)\n",
      "  ECG Batch Shape: (1065, 1, 1250)\n",
      "  SegDBP Batch Shape: (1065, 1)\n",
      "  SegSBP Batch Shape: (1065, 1)\n",
      "\n",
      "Batch 19:\n",
      "  PPG Batch Shape: (1026, 1, 1250)\n",
      "  ECG Batch Shape: (1026, 1, 1250)\n",
      "  SegDBP Batch Shape: (1026, 1)\n",
      "  SegSBP Batch Shape: (1026, 1)\n",
      "\n",
      "Batch 20:\n",
      "  PPG Batch Shape: (635, 1, 1250)\n",
      "  ECG Batch Shape: (635, 1, 1250)\n",
      "  SegDBP Batch Shape: (635, 1)\n",
      "  SegSBP Batch Shape: (635, 1)\n",
      "\n",
      "Batch 21:\n",
      "  PPG Batch Shape: (788, 1, 1250)\n",
      "  ECG Batch Shape: (788, 1, 1250)\n",
      "  SegDBP Batch Shape: (788, 1)\n",
      "  SegSBP Batch Shape: (788, 1)\n",
      "\n",
      "Batch 22:\n",
      "  PPG Batch Shape: (638, 1, 1250)\n",
      "  ECG Batch Shape: (638, 1, 1250)\n",
      "  SegDBP Batch Shape: (638, 1)\n",
      "  SegSBP Batch Shape: (638, 1)\n",
      "\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "Cell \u001b[1;32mIn[6], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, (ppg_batch, ecg_batch, seg_dbp_batch, seg_sbp_batch) \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(val_data_generator):\n\u001b[0;32m      2\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mBatch \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;250m \u001b[39m\u001b[38;5;241m+\u001b[39m\u001b[38;5;250m \u001b[39m\u001b[38;5;241m1\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m:\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m      3\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m  PPG Batch Shape: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mppg_batch\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n",
      "Cell \u001b[1;32mIn[5], line 121\u001b[0m, in \u001b[0;36mcombine_data_from_folder\u001b[1;34m(folder_path, batch_size)\u001b[0m\n\u001b[0;32m    119\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ppg_f\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m3\u001b[39m:\n\u001b[0;32m    120\u001b[0m     \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(ppg_f\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]):\n\u001b[1;32m--> 121\u001b[0m         preprocessed_ppg \u001b[38;5;241m=\u001b[39m \u001b[43mpreprocess_signal\u001b[49m\u001b[43m(\u001b[49m\u001b[43mppg_f\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1000\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m    122\u001b[0m         combined_ppg\u001b[38;5;241m.\u001b[39mappend(preprocessed_ppg)\n\u001b[0;32m    123\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n",
      "Cell \u001b[1;32mIn[5], line 50\u001b[0m, in \u001b[0;36mpreprocess_signal\u001b[1;34m(signal, fs)\u001b[0m\n\u001b[0;32m     46\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mpreprocess_signal\u001b[39m(signal, fs):\n\u001b[0;32m     47\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m     48\u001b[0m \u001b[38;5;124;03m    Preprocess the signal by bandpass filtering and normalization.\u001b[39;00m\n\u001b[0;32m     49\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[1;32m---> 50\u001b[0m     filtered_signal \u001b[38;5;241m=\u001b[39m \u001b[43mbandpass_filter\u001b[49m\u001b[43m(\u001b[49m\u001b[43msignal\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0.5\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m40\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m     51\u001b[0m     normalized_signal \u001b[38;5;241m=\u001b[39m (filtered_signal \u001b[38;5;241m-\u001b[39m np\u001b[38;5;241m.\u001b[39mmean(filtered_signal)) \u001b[38;5;241m/\u001b[39m np\u001b[38;5;241m.\u001b[39mstd(filtered_signal)\n\u001b[0;32m     52\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m normalized_signal\n",
      "Cell \u001b[1;32mIn[5], line 43\u001b[0m, in \u001b[0;36mbandpass_filter\u001b[1;34m(data, lowcut, highcut, fs, order)\u001b[0m\n\u001b[0;32m     41\u001b[0m low \u001b[38;5;241m=\u001b[39m lowcut \u001b[38;5;241m/\u001b[39m nyquist\n\u001b[0;32m     42\u001b[0m high \u001b[38;5;241m=\u001b[39m highcut \u001b[38;5;241m/\u001b[39m nyquist\n\u001b[1;32m---> 43\u001b[0m b, a \u001b[38;5;241m=\u001b[39m \u001b[43mbutter\u001b[49m\u001b[43m(\u001b[49m\u001b[43morder\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[43mlow\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhigh\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mband\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m     44\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m filtfilt(b, a, data)\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\scipy\\signal\\_filter_design.py:3101\u001b[0m, in \u001b[0;36mbutter\u001b[1;34m(N, Wn, btype, analog, output, fs)\u001b[0m\n\u001b[0;32m   2980\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mbutter\u001b[39m(N, Wn, btype\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mlow\u001b[39m\u001b[38;5;124m'\u001b[39m, analog\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m, output\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mba\u001b[39m\u001b[38;5;124m'\u001b[39m, fs\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m   2981\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m   2982\u001b[0m \u001b[38;5;124;03m    Butterworth digital and analog filter design.\u001b[39;00m\n\u001b[0;32m   2983\u001b[0m \n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m   3099\u001b[0m \u001b[38;5;124;03m    >>> plt.show()\u001b[39;00m\n\u001b[0;32m   3100\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[1;32m-> 3101\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43miirfilter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mN\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mWn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mbtype\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43manalog\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43manalog\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m   3102\u001b[0m \u001b[43m                     \u001b[49m\u001b[43moutput\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43moutput\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mftype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mbutter\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfs\u001b[49m\u001b[43m)\u001b[49m\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\scipy\\signal\\_filter_design.py:2596\u001b[0m, in \u001b[0;36miirfilter\u001b[1;34m(N, Wn, rp, rs, btype, analog, ftype, output, fs)\u001b[0m\n\u001b[0;32m   2594\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m z, p, k\n\u001b[0;32m   2595\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m output \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mba\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[1;32m-> 2596\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mzpk2tf\u001b[49m\u001b[43m(\u001b[49m\u001b[43mz\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mp\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mk\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m   2597\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m output \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124msos\u001b[39m\u001b[38;5;124m'\u001b[39m:\n\u001b[0;32m   2598\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m zpk2sos(z, p, k, analog\u001b[38;5;241m=\u001b[39manalog)\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\scipy\\signal\\_filter_design.py:1129\u001b[0m, in \u001b[0;36mzpk2tf\u001b[1;34m(z, p, k)\u001b[0m\n\u001b[0;32m   1127\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m   1128\u001b[0m     b \u001b[38;5;241m=\u001b[39m k \u001b[38;5;241m*\u001b[39m poly(z)\n\u001b[1;32m-> 1129\u001b[0m a \u001b[38;5;241m=\u001b[39m atleast_1d(\u001b[43mpoly\u001b[49m\u001b[43m(\u001b[49m\u001b[43mp\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[0;32m   1131\u001b[0m \u001b[38;5;66;03m# Use real output if possible. Copied from numpy.poly, since\u001b[39;00m\n\u001b[0;32m   1132\u001b[0m \u001b[38;5;66;03m# we can't depend on a specific version of numpy.\u001b[39;00m\n\u001b[0;32m   1133\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28missubclass\u001b[39m(b\u001b[38;5;241m.\u001b[39mdtype\u001b[38;5;241m.\u001b[39mtype, numpy\u001b[38;5;241m.\u001b[39mcomplexfloating):\n\u001b[0;32m   1134\u001b[0m     \u001b[38;5;66;03m# if complex roots are all complex conjugates, the roots are real.\u001b[39;00m\n",
      "File \u001b[1;32m<__array_function__ internals>:200\u001b[0m, in \u001b[0;36mpoly\u001b[1;34m(*args, **kwargs)\u001b[0m\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\numpy\\lib\\polynomial.py:156\u001b[0m, in \u001b[0;36mpoly\u001b[1;34m(seq_of_zeros)\u001b[0m\n\u001b[0;32m    154\u001b[0m a \u001b[38;5;241m=\u001b[39m ones((\u001b[38;5;241m1\u001b[39m,), dtype\u001b[38;5;241m=\u001b[39mdt)\n\u001b[0;32m    155\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m zero \u001b[38;5;129;01min\u001b[39;00m seq_of_zeros:\n\u001b[1;32m--> 156\u001b[0m     a \u001b[38;5;241m=\u001b[39m \u001b[43mNX\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconvolve\u001b[49m\u001b[43m(\u001b[49m\u001b[43ma\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43marray\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[43mzero\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdt\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mfull\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m    158\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28missubclass\u001b[39m(a\u001b[38;5;241m.\u001b[39mdtype\u001b[38;5;241m.\u001b[39mtype, NX\u001b[38;5;241m.\u001b[39mcomplexfloating):\n\u001b[0;32m    159\u001b[0m     \u001b[38;5;66;03m# if complex roots are all complex conjugates, the roots are real.\u001b[39;00m\n\u001b[0;32m    160\u001b[0m     roots \u001b[38;5;241m=\u001b[39m NX\u001b[38;5;241m.\u001b[39masarray(seq_of_zeros, \u001b[38;5;28mcomplex\u001b[39m)\n",
      "File \u001b[1;32m<__array_function__ internals>:200\u001b[0m, in \u001b[0;36mconvolve\u001b[1;34m(*args, **kwargs)\u001b[0m\n",
      "File \u001b[1;32m~\\anaconda3\\envs\\tensorflow\\lib\\site-packages\\numpy\\core\\numeric.py:851\u001b[0m, in \u001b[0;36mconvolve\u001b[1;34m(a, v, mode)\u001b[0m\n\u001b[0;32m    849\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(v) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m    850\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mv cannot be empty\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m--> 851\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmultiarray\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcorrelate\u001b[49m\u001b[43m(\u001b[49m\u001b[43ma\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mv\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[43m:\u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[43m)\u001b[49m\n",
      "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "for i, (ppg_batch, ecg_batch, seg_dbp_batch, seg_sbp_batch) in enumerate(val_data_generator):\n",
    "    print(f\"Batch {i + 1}:\")\n",
    "    print(f\"  PPG Batch Shape: {ppg_batch.shape}\")\n",
    "    print(f\"  ECG Batch Shape: {ecg_batch.shape}\")\n",
    "    print(f\"  SegDBP Batch Shape: {seg_dbp_batch.shape}\")\n",
    "    print(f\"  SegSBP Batch Shape: {seg_sbp_batch.shape}\")\n",
    "    print()\n",
    "break"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "893304f5",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
